How to Submit a New Plugin to Claude: The Official Community Marketplace Process
Submitting a new plugin to Claude requires using the official submission portal at clau.de/plugin-directory-submission because the anthropics/claude-plugins-community repository is a read-only mirror that automatically rejects direct pull requests.
The anthropics/claude-plugins-community repository serves as the public storefront for Claude’s plugin ecosystem, but submitting a new plugin to Claude follows a strictly controlled pipeline rather than traditional open-source contribution. Developers must prepare a standardized manifest file and submit through Anthropic’s official portal, which triggers automated security scanning and internal review before the plugin appears in the marketplace.
The Read-Only Repository Model
The GitHub repository at anthropics/claude-plugins-community functions as a read-only mirror of the canonical plugin marketplace. According to the source code, any pull request opened directly against this repository is automatically closed by the .github/workflows/close-external-prs.yml workflow, which posts a comment directing contributors to the official submission portal. This architecture ensures that all plugins undergo mandatory security validation before reaching users.
Approved plugins are added to the .claude-plugin/marketplace.json file—the canonical registry of community plugins—which syncs nightly to the public repository. This automated synchronization guarantees that the GitHub repository remains an accurate, tamper-proof reflection of the vetted marketplace.
Preparing Your Plugin Package
Every plugin submission requires a specific directory structure anchored by a mandatory manifest file. The submission package must include:
.claude-plugin/plugin.json: The required manifest containing metadata such asname,version,description,author,homepage,repository,license, andkeywordsicon.svg(optional): A visual icon for marketplace displaymarketplace.jsonentry (optional): Additional metadata specifically for the marketplace listing
The manifest file must follow the schema demonstrated in quickdesign/.claude-plugin/plugin.json, which serves as the reference implementation within the repository.
The Submission Pipeline
Submitting a new plugin to Claude progresses through five distinct stages after package preparation:
Step 1: Portal Submission
Navigate to clau.de/plugin-directory-submission and upload your plugin folder or a zip archive. The form requires the plugin name, description, and any required permissions declarations.
Step 2: Automated Security Scanning
Upon submission, Anthropic’s internal CI pipeline executes automated security checks against your code and manifest files. This validation ensures the plugin contains no disallowed APIs, no secret leaks, and no unsafe code patterns that could compromise user security.
Step 3: Internal Review Pipeline
After passing automated scans, the plugin enters an internal review queue where Anthropic staff verify compliance with marketplace policies. Reviewers check licensing compatibility, content guidelines adherence, and overall plugin quality.
Step 4: Marketplace Integration
Once approved, Anthropic adds the plugin entry to .claude-plugin/marketplace.json. This file acts as the single source of truth for the community plugin directory.
Step 5: Public Synchronization
The updated marketplace.json syncs nightly to the anthropics/claude-plugins-community repository, making your plugin instantly discoverable to Claude users without requiring manual GitHub updates.
Required Plugin Manifest Structure
The .claude-plugin/plugin.json file must contain specific fields to pass validation. Here is the canonical structure based on the quickdesign reference implementation:
{
"name": "quickdesign",
"version": "0.8.0",
"description": "AI media generation skill for the QuickDesign CLI …",
"icon": "./icon.svg",
"author": {
"name": "QuickDesign",
"url": "https://quickdesign.io"
},
"homepage": "https://github.com/ottasilver/quickdesign-cli",
"repository": "https://github.com/ottasilver/quickdesign-cli",
"license": "MIT",
"keywords": ["ai","video-generation","image-generation"]
}
Critical requirements include semantic versioning in the version field, a valid SPDX license identifier, and absolute URLs for homepage and repository fields. The name field must be unique across the marketplace registry.
Summary
- The
anthropics/claude-plugins-communityrepository is read-only; direct pull requests are automatically rejected via.github/workflows/close-external-prs.yml - All submissions must route through clau.de/plugin-directory-submission
- Every plugin requires a
.claude-plugin/plugin.jsonmanifest file with complete metadata - Anthropic performs automated security scanning followed by manual policy review
- Approved plugins are added to
.claude-plugin/marketplace.jsonand sync nightly to GitHub
Frequently Asked Questions
Why does the repository reject direct pull requests?
The repository is a read-only mirror of the canonical marketplace data. According to the source code in .github/workflows/close-external-prs.yml, any pull request opened directly against the repository triggers an automated workflow that closes the PR and directs the contributor to the official submission portal. This ensures every plugin undergoes mandatory security scanning and internal review before publication.
What metadata fields are required in the plugin manifest?
The .claude-plugin/plugin.json file must include name, version, description, author (with name and url), homepage, repository, license, and keywords. Optional fields include icon for specifying a local icon file path. The manifest structure follows the schema demonstrated in quickdesign/.claude-plugin/plugin.json.
How does the security review process work?
Submitted plugins first pass through automated CI security checks that scan for disallowed API usage, hardcoded secrets, and unsafe code patterns. After clearing automated scans, Anthropic staff manually review the plugin for compliance with content guidelines and licensing requirements before approving it for the .claude-plugin/marketplace.json registry.
Where do approved plugins appear in the repository?
Once approved, plugins are added to the .claude-plugin/marketplace.json file, which serves as the canonical list of community plugins. This file synchronizes nightly to the anthropics/claude-plugins-community repository, making newly approved plugins discoverable to Claude users through the public GitHub interface.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →