AIREITER

Claude Plugin Submission Portal: A Step-by-Step Guide

Last Updated: 2026-09-25 18:54:02

If you are looking for the Claude plugin submission portal, use Anthropic’s developer portal at claude.ai/directory/manage. The current path is Submit new → Plugin bundle, but a public GitHub repository, an eligible plan and role, and a passing review are all part of getting a listing live.

The current Claude plugin submission route

The official route starts in Anthropic’s plugin submission documentation, not in the public GitHub marketplace repository. Each plugin folder is submitted separately, even when several plugins live in one repository.

What you needCurrent requirement
Submission pageclaude.ai/directory/manage
Submission typePlugin bundle
SourceA public GitHub repository before the listing goes live
AccessA plan and role allowed to submit to the directory
ReviewValidation and security scanning; some versions are held for a reviewer
PublishingA passing version still needs to be published

This guide covers public directory distribution, not private team sharing or a local plugin install.

Before opening the portal

Prepare the repository before opening the portal.

1. Put the plugin in GitHub

The directory reads plugins from github.com, and Anthropic says the repository must be public before the listing goes live. If the plugin is below the repository root, note its folder path.

A standard Claude Code plugin commonly includes:

plugin-name/
├── .claude-plugin/
│   └── plugin.json
├── .mcp.json          # optional
├── commands/          # optional
├── agents/            # optional
├── skills/            # optional
└── README.md

The manifest and README supply much of the directory listing information. Check the plugin’s license and external services before submitting.

2. Run local validation

From the directory containing the plugin folder, run:

claude plugin validate ./<plugin-folder>

This catches structure and formatting problems, but the portal’s Validate step runs additional checks. Treat the local command as a first pass, not as approval.

3. Separate an MCP connector when necessary

If your plugin references a remote MCP server that you operate and it has not already been submitted, Anthropic’s guide says to submit the server separately as an MCP connector. The plugin bundle and connector are different directory listings.

Submit one plugin bundle, step by step

1. Choose Plugin bundle

Open the developer portal and select Submit new. When asked what you want to submit, choose Plugin bundle. Choose MCP connector only when submitting a remote MCP server as its own listing.

2. Enter the repository, path, and branch

On Source, provide:

  • The GitHub URL or owner/repo.
  • Plugin path, if .claude-plugin/plugin.json is not at the repository root.
  • Branch or tag, if the directory should track something other than the default branch.

A tag stays on its commit until you change the tag. If the branch name contains a slash, enter it explicitly or use the owner/repo@branch form described in the official submission guide.

Select Validate. If a finding blocks submission, fix the repository, push the change, and validate again. A validation result applies to one commit.

3. Check the generated listing

The Listing details step shows how the plugin will appear in the directory. Anthropic reads these details from plugin.json and the README.

Change the source files when you need to fix the name or short description. Anthropic’s official plugin directory also warns that a published installation slug should remain stable because users can encounter plugin-not-found. Use a display label for ordinary wording changes; reserve a rename mapping for a necessary migration.

4. Answer data-handling questions

The Data handling step asks whether the plugin:

  • Reads or stores personal data.
  • Sends data to services other than declared connectors.
  • Retains data, and for how long.
  • Targets people under 18.

Answer from the implementation. Include remote services, file access, telemetry, and retention behavior.

5. Complete compliance acknowledgements

On Compliance, confirm a contact email where Anthropic can reach you and select the required acknowledgements. The plugin must comply with Anthropic’s Software Directory policy.

6. Submit and choose update delivery

On Review and submit, confirm the details and choose how new versions arrive:

  • GitHub push webhook, selected by default in the current guide; it can trigger checks after pushes when configured.
  • Scheduled check only, which relies on checks of the tracked branch or tag.

Select Submit for review. GitHub administrator access is required to configure the webhook. Anthropic currently limits an organization to 10 submissions in any 24-hour period, and saved drafts and withdrawn submissions count toward that limit. These limits and update settings are documented in the submission workflow.

What happens after submission

Anthropic scans the newest commit on the tracked branch or tag, reruns directory validation, and performs a security scan. The official guide describes the following states:

StatusWhat it meansNext action
Passes every checkThe version is eligible to publishSelect Publish
Held for a reviewerA reviewer must clear the findingsFollow requested changes or wait for review
Doesn’t passThe portal lists broken rules or a security categoryFix the repository, then check the new commit
RejectedThe submission was not approvedRead requested changes and use Resubmit for review

A passing version is not necessarily live. The default setting can require a publish request and reviewer publication; the portal also supports auto-publish settings for some later passing versions.

Open the plugin under Submissions and inspect Versions to monitor progress. After a fix, use Check for new commits when available. For updates, push to the tracked branch or move the tracked tag; you do not submit the form again. The last published version remains live while a new version is failing or waiting for review.

Safety checks developers should not skip

Anthropic’s official directory warns that plugins can include MCP servers, files, and other software outside Anthropic’s control. Before submission, document every external service, permission, retention period, and background action.

“I mean, I asked it to audit why my plugin submissions failed and fix the issue.” — @tarasshyn, X, describing a submission failure and audit workflow.

Use this preflight:

  1. Declare and document every outbound service.
  2. Explain permissions, setup, data flow, and retention in the README.
  3. Confirm that the tracked ref contains the code you intend to publish.
  4. Revalidate after every fixing commit.
  5. Disclose background indexing, telemetry, or costly automated behavior.

FAQ: Claude plugin submission

Is the GitHub repository required to be public?

Yes. Anthropic’s current documentation says the repository must be public before the listing goes live.

Can I submit several plugins from one repository?

Yes, but each plugin folder is its own submission. Enter each relevant path separately in the portal.

Can I submit by pull request to the community repository?

No. Anthropic’s community marketplace README describes that repository as a read-only mirror and says direct pull requests are closed automatically. Use the developer portal.

Do I need to submit a remote MCP server separately?

If your plugin references a remote MCP server that you operate and the server is not already listed, submit it separately as an MCP connector.

What happens when validation fails?

Fix the repository, push the change, and validate again. Validation applies to a specific commit. After submission, use the portal’s new-commit check when available.

Does a passing scan publish the plugin automatically?

Not always. A passing version can still require Publish and reviewer publication. The portal’s auto-publish setting determines how later passing versions are handled.

Can I delist a published plugin?

Yes. Open the live plugin in the developer portal and request Delist plugin. Anthropic says the change can take time to reach every Claude app, and existing users may stop receiving updates.

For a public listing, the shortest route is: make the repository public, validate locally, submit Plugin bundle, fix commit-specific findings, complete data and compliance steps, and publish the passing version. Keep a team-only package private when directory reach does not justify public review and maintenance.