# How to submit a plugin or connector to Claude's directory

Anyone on a paid Claude plan can submit at claude.ai/directory/manage: a plugin as a folder in a GitHub repository, a connector as its remote MCP server's URL. On Oct 25, 2026, our data showed a median 626 new plugins a week in the 3 weeks to Oct 18, against 34.5 a week in the 8 weeks to Sep 20.

October 25, 2026 · 23 min read

- New plugins a week, after: 626 (median, Sep 28 to Oct 18; 1,874 in all)
- New plugins a week, before: 34.5 (median, the 8 weeks to Sep 20)
- New plugins with a skill: 86% (1,619 of 1,874 added Sep 28 to Oct 18)
- Connector servers needing sign-in: 79% (590 of 746 servers with a known status)

![Illustration of a long bench with a tall stack of folder-shaped tiles on the left, two plug-shaped tiles joined by a cable on the right, and between them a desk stamp that has pressed a green check mark onto a single folder.](https://theopenapps.com/assets/blog/how-to-submit-a-claude-plugin-or-connector/hero-77ee55d4.webp)

*Illustration: OpenApps*

## Who can submit to Claude's directory?

Anyone on a paid Claude plan can submit: Pro, Max, Team or Enterprise. Free accounts can't. On Pro and Max you submit from your own account. On Team and Enterprise an Owner submits, and an Enterprise Owner can give other members the **Directory** permission through a custom role ([Anthropic's publish page](https://claude.com/docs/directory/publish)).

The listing belongs to the organization you submit from. For a plugin, the first organization to submit a repository folder owns the listing, and no other organization can submit that folder. If another organization already holds your folder and you own the repository, email `directory@anthropic.com` ([Anthropic's plugin submission page](https://claude.com/docs/plugins/submit)).

Anthropic's pages list no submission fee. The cheapest plan that can submit is Pro, at $20 a month billed monthly ([Claude's pricing page](https://claude.com/pricing)).

Anthropic opened the developer portal to every paid plan on Sep 25, 2026 ([Anthropic's announcement](https://claude.com/resources/articles/build-plugins-for-claude)). Guides written before then say you need a Team or Enterprise organization, and that rule no longer applies.

Have these ready before the first step:

- **For a plugin:** a github.com repository you can push to, and your GitHub account connected on claude.ai in the organization you submit from (the portal offers **Connect GitHub**). For the push webhook you need admin access to the repository, and for `claude plugin validate` you need Claude Code.
- **For a connector:** the server at an `https://` URL, its listing links and icon, and a test account for reviewers.
- **Submission limit:** an organization can create 10 submissions in any 24 hours, drafts and withdrawn submissions included.

![Anthropic's Publish to the directory page, with the Plan, Role and Which organization checks outlined (1) and the 3 steps to start a submission in the developer portal outlined (2): Select Submit new, Choose the submission type, Follow the checklist and submit pages.](https://theopenapps.com/assets/blog/how-to-submit-a-claude-plugin-or-connector/publish-steps-eb8339ec.webp)

*Screenshot: claude.com, Oct 25, 2026*

If you still have to build the plugin, start with [Anthropic's plugin structure and testing guide](https://claude.com/docs/plugins/build). [How do I submit an app to ChatGPT, Claude, Cursor and Grok Bot?](https://theopenapps.com/blog/how-to-submit-an-app-to-ai-app-stores) compares the stores.

## Connector, plugin or both?

If you run a remote MCP server, submit it as a connector, even if a plugin already points at it. Put skills, commands, hooks and local servers in a plugin. If you have both, point the plugin at the connector's URL and pair the two in the portal, so people who install both see one set of tools ([Anthropic's publish page](https://claude.com/docs/directory/publish)).

A [plugin](https://theopenapps.com/glossary/claude-plugin) bundle is a folder in a GitHub repository that can hold [skills](https://theopenapps.com/glossary/skill), commands, agents, hooks and MCP server references. A [connector](https://theopenapps.com/glossary/claude-connector) is one [remote MCP server](https://theopenapps.com/glossary/remote-mcp-server), submitted by its URL.

A local MCP server can't be a connector. The directory no longer accepts [desktop extensions](https://theopenapps.com/glossary/desktop-extension), so a local server goes inside a plugin ([Anthropic's publish page](https://claude.com/docs/directory/publish)). The newest desktop extension in our data launched on Aug 19, 2026.

Declare a local server in the plugin with `command` and `args`, not as a bundled `.mcpb` file, which gets a policy hold ([plugin pre-submission checklist](https://claude.com/docs/plugins/pre-submission-checklist)). The server runs in Claude Code, and in Cowork when the session runs on the user's computer. Chat ignores it ([plugin feature support](https://claude.com/docs/plugins/platform-support)). [What is the difference between connectors, plugins and skills?](https://theopenapps.com/blog/claude-connectors-vs-plugins-vs-skills) covers the rest.

|  | Plugin bundle | MCP connector |
| --- | --- | --- |
| Source | A folder in a GitHub repository, public before it goes live | The server's `https://` URL |
| Automated checks | Validation and a security scan on every version | A policy scan on every submission |
| Human review | Every new listing | Some submissions get a person's review; Verified only if Anthropic escalates it |
| Label once listed | Community on 99% of plugins added Sep 28 to Oct 18 in our data (1,858 of 1,874) | Community by default; Verified (a checkmark, tools tested) after escalation |
| Updates | Merge to the tracked branch (raise `version` if you set it). Each new version is scanned; the listing serves the last published one | Deploy tool changes to your server; a reviewer approves each listing edit |

### Can you submit a skill on its own?

A skill can't be submitted on its own; put it in a plugin, even a [skills-only plugin](https://theopenapps.com/glossary/skills-only-plugin). A folder with at least one `skills/<name>/SKILL.md` and no `plugin.json` passes validation with a note, but it is listed for Claude Code only. Add `plugin.json` to list it everywhere else ([plugin pre-submission checklist](https://claude.com/docs/plugins/pre-submission-checklist)).

## Before you open the portal

You can catch most problems before you open the portal. The lists below follow Anthropic's [plugin pre-submission checklist](https://claude.com/docs/plugins/pre-submission-checklist) and [connector pre-submission checklist](https://claude.com/docs/connectors/building/review-criteria).

Anthropic refuses some uses for both kinds. The [Software Directory Policy](https://support.claude.com/en/articles/13145358-anthropic-software-directory-policy), which covers plugins, skills and MCP servers, refuses software that moves money, crypto or other financial assets without a person approving it, and software that generates images, video or audio with AI models. The policy allows design visuals such as slides, diagrams, charts and UI mockups. It also refuses advertising and adult content. The connector checklist refuses money transfers outright.

### For a plugin

1. Put `plugin.json` in `.claude-plugin/` inside the plugin folder. Keep everything the plugin runs inside that folder, and point every path in `plugin.json` inside it.
2. Name the plugin after your own product, in lowercase letters, digits and hyphens, up to 64 characters. Validation blocks a name that is only a reserved word such as `claude`, or one another organization already uses. A name made only of generic words, such as `test-plugin`, gets a policy hold, and so does a fork that keeps the upstream project's name.
3. Spell component folders, files and keys exactly as Claude Code expects, such as `hooks/`, `skills/`, `SKILL.md` and `mcpServers`, and keep component keys out of the `experimental` object.
4. Make `.mcp.json` and `hooks/hooks.json` valid JSON that matches the schema in Claude Code's docs.
5. Write valid YAML front matter in each skill, command and agent file, with `description` as plain text.
6. Add a README of at least 40 words, not counting code blocks, and a `LICENSE` file or a `license` field.
7. Delete `.DS_Store`, `Thumbs.db`, `desktop.ini` and `__MACOSX` entries. Commit real files, not symbolic links, Git submodules or Git LFS pointers.
8. Use file names that work on both Windows and macOS: no colon, no trailing dot or space, no device name such as `con.md`, and no two names that differ only in capitals. Name the folders on the plugin's path with letters, digits, dots, hyphens and underscores only.
9. Keep `export-ignore`, `export-subst` and `filter` attributes, Git LFS included, out of your `.gitattributes` files.
10. Pin every package a launcher runs to an exact version, such as `npx <package>@1.2.3`, and run `uv run` with `--locked` or `--frozen`. Unpinned packages block the submission; pinned ones still get a policy hold.
11. Leave out any `.npmrc`, `bunfig.toml` or `uv.toml` that sets a package source. With a launcher it blocks the submission; with a package install it gets a policy hold.
12. Ask for every secret through a `userConfig` entry in `plugin.json` with `sensitive: true`, and refer to it as `${user_config.KEY}`. Keep real credentials out of every file, examples included.
13. Give each remote MCP server an `https://` or `wss://` URL. If chat users need the server, keep `${user_config.KEY}` out of its URL: chat ignores a server whose URL contains one. Cowork ignores a server that refers to an option with no default.
14. Declare each local MCP server with a `command` and `args` that run a file in the plugin, such as `node ${CLAUDE_PLUGIN_ROOT}/server.js`. A shell, `-c`, `npm run` or a `.mcpb` or `.dxt` bundle gets a policy hold, and a bundle fetched from a URL blocks the submission.
15. Leave out a top-level `bin/` folder unless the plugin is for Claude Code only. Claude.ai and Cowork refuse to install a plugin that has one ([plugin feature support](https://claude.com/docs/plugins/platform-support)).
16. Put what chat users need in skills, commands or a remote server. Chat ignores agents, hooks and local servers, and loads commands as skills. Cowork and Claude Code load agents, hooks and commands. The portal shows which surfaces the plugin supports before you submit.
17. If the plugin folder is a subfolder of the repository, as in any marketplace repository, write each path in a hook or MCP server command in full from `${CLAUDE_PLUGIN_ROOT}`, with no other variable, wildcard or inline program.
18. Describe in the README everything the plugin runs, sends or fetches. A first submission that fails the security scan is rejected.
19. Commit readable source, not minified or packed code.
20. Keep the repository under 50 MiB archived and 256 MiB unpacked, with fewer than 10,000 files and folders and each file under 5 MiB. Past those limits, validation stops.
21. To avoid a policy hold, keep each file that isn't an image or font under 256 KiB, keep the plugin to 512 files or fewer, and leave out other binaries such as `.ico`, `.pdf` and `.zip` files.
22. From the folder that holds the plugin folder, run `claude plugin validate ./<plugin-folder>`, fix what it lists and run it again until it prints `Validation passed`. It checks syntax and schema only; the portal's **Validate** runs the directory's own rules.
23. Run `claude plugin eval` to compare the plugin's output with Claude's output without it, and load the plugin on each surface your users use.

A bad file name, a folder on the plugin's path with other characters and a `.gitattributes` rule all give the same portal error, **Couldn't validate that repository**, with no findings. The error doesn't say which cause applies, so check all three.

Plugins added Sep 28 to Oct 18, the first 3 full weeks after the portal opened, are smaller than older ones. The median new plugin has 3 parts (skills, commands, agents, hooks or MCP servers), 1 of them a skill, against 5 and 2 for older plugins. A small plugin is a normal first submission: 59% of the new plugins have 3 parts or fewer, and 27% hold only skills.

**What plugins added Sep 28 to Oct 18 contain**

| Plugin carries | Added Sep 28 to Oct 18 | Share | Share before Sep 28 |
| --- | ---: | ---: | ---: |
| A skill | 1,619 | 86% | 85% |
| An MCP server | 976 | 52% | 39% |
| Skills only | 507 | 27% | 27% |
| A command | 265 | 14% | 22% |
| A hook | 189 | 10% | 22% |
| An agent | 129 | 7% | 20% |

*Skills are in 86% of plugins added Sep 28 to Oct 18 and an MCP server in 52%, up from 39% of older plugins. Source: OpenApps data, Oct 25, 2026.*

### For a connector

1. Host the server at an `https://` URL. A local server can't be a connector.
2. Choose how users sign in: [OAuth](https://theopenapps.com/glossary/oauth) 2.0 if the tools act on a user's account, or no sign-in for public data. API keys in request headers are a beta for a limited set of organizations, and a machine-to-machine `client_credentials` grant isn't supported.

If you use OAuth, check each of these against [Anthropic's authentication page](https://claude.com/docs/connectors/building/authentication):

1. Let Claude register itself. Expose a `registration_endpoint` for Dynamic Client Registration (DCR), or support a Client ID Metadata Document (CIMD). For CIMD, advertise `client_id_metadata_document_supported: true` and `none` in `token_endpoint_auth_methods_supported`, or Claude falls back to DCR. For heavy directory traffic, Anthropic recommends CIMD or an Anthropic-held client over DCR.
2. If you can't support either, create a confidential client and enter it in the portal's **Authentication** step. Claude Code doesn't use that client, so support CIMD or DCR too if Claude Code users should be able to sign in.
3. Register `https://claude.ai/api/mcp/auth_callback` as a redirect URI, and accept Claude Code's loopback redirect on any port, for both `localhost` and `127.0.0.1`.
4. Answer an unauthenticated call with `401` and a `WWW-Authenticate` header whose `resource_metadata` points at your protected resource metadata.
5. Support S256 PKCE in your authorization server and list `S256` in its `code_challenge_methods_supported`.
6. Set `resource` in your protected resource metadata to the server URL exactly as users enter it, path included, and put your own issuer first in `authorization_servers`, because Claude uses only the first entry.
7. Accept `application/x-www-form-urlencoded` bodies at `/token`, and answer a renewal with an expired or revoked token with `invalid_grant`.
8. Keep your OAuth discovery, registration and token endpoints answering within 10 seconds. Let Anthropic's traffic from `160.79.104.0/21` through any firewall, CDN or WAF, in front of your identity provider as well as your MCP server.

Then check the tools and what you submit with them:

1. Give every tool its [tool annotations](https://theopenapps.com/glossary/tool-annotations): a title, and [readOnlyHint](https://theopenapps.com/glossary/readonlyhint) set to `true` on tools that only read or [destructiveHint](https://theopenapps.com/glossary/destructivehint) set to `true` on tools that change or delete data, as in `{"name": "list_orders", "title": "List orders", "annotations": {"readOnlyHint": true}}`. Keep tool names to 64 characters or fewer.
2. Split any tool that both reads and writes into separate read and write tools. A catch-all tool with a `method` parameter is rejected.
3. Write each tool description to say what the tool does, and name or link the target API in any tool that takes free-form paths or queries. A description is rejected if it tells Claude how to behave, pushes Claude to call tools the user didn't ask for, gets in the way of other tools, promotes products or hides instructions.
4. Make every tool succeed with valid input and return errors that say what to fix, not a bare `Internal Server Error`.
5. Collect only the conversation data a tool needs, and never read Claude's memory, chat history, conversation summaries or user files.
6. Keep each response sized to the request; a full database dump in place of a summary fails review.
7. Call only your own API, or a partner's API you have permission to pass calls to, from an MCP server on your own service's domain.
8. Add the server to Claude as a custom connector and run each tool from a conversation. When sign-in works, the connector shows **Connected** under **Your connectors**.
9. If your server supports neither CIMD nor DCR, choose **Use your own OAuth client** in the [custom connector dialog](https://claude.com/docs/connectors/custom/add-unlisted) and enter your client ID, plus the secret if your server requires one. A custom connector never uses the secret you enter in the portal.
10. Collect a documentation URL, a privacy policy URL, a support contact and an icon. The documentation can be a blog post or help article, and it is due by your publish date, not when you submit.
11. For an MCP App, make 3 to 5 PNG carousel screenshots at least 1,000 px wide, cropped to the app's response with no prompt in the image, and write each one's prompt separately. The portal doesn't take video or GIFs.
12. If the connector opens links, list the HTTPS origins and URI schemes you own as allowed link URIs. Reviewers remove entries you don't own.
13. Set up a fully populated test account for reviewers.

Plan sign-in and the reviewer account early. Of the 746 servers behind the Claude connectors in our data with a known status, 590 (79%) ask for sign-in before they list any tool, and 521 of those use OAuth. A reviewer can test an [auth-gated server](https://theopenapps.com/glossary/auth-gated-server) only with the account you give.

**MCP servers behind Claude connectors, by access**

| Access | Servers | Share |
| --- | ---: | ---: |
| Needs sign-in | 590 | 79% |
| Open | 104 | 14% |
| Restricted | 42 | 6% |
| Error | 9 | 1% |
| Offline | 1 | 0.1% |

*Of the 746 servers behind the Claude connectors in our data with a known status, 79% ask for sign-in before they list any tool and 14% list their tools without one. Source: OpenApps data, Oct 25, 2026.*

Of the 104 connector servers in our data that list their tools without sign-in, 86 (83%) give every tool a title and a hint, and none has a tool name over 64 characters. Titles are the usual gap: 16 of the 104 have a tool without one, so check titles first. Most of these servers were listed before the portal opened, so they show what listed servers look like, not what review enforces. [What MCP tool design teaches](https://theopenapps.com/blog/what-mcp-tool-design-teaches) has the wider numbers.

## How do you submit a plugin?

In the developer portal, select **Submit new**, choose **Plugin bundle**, point it at the repository folder and select **Validate**. Then fill in **Listing details**, **Data handling** and **Compliance**, submit, and select **Publish** once the status reads **Approved**. Each plugin folder is its own submission, so a repository with several plugins needs one per folder ([Anthropic's plugin submission page](https://claude.com/docs/plugins/submit)).

1. Open the developer portal at [claude.ai/directory/manage](https://claude.ai/directory/manage).
2. Select **Submit new**.
3. Under **What would you like to submit?**, choose **Plugin bundle**.
4. On **Source**, enter the repository URL or `owner/repo`, the plugin path if it isn't the root, and a branch or tag if it isn't the default branch.
5. Select **Validate**. Fix every finding the report marks **Blocking**, push the fix, and select **Re-validate**. A result covers one commit.
6. On **Listing details**, check the listing the portal reads from `plugin.json` and the README. Edit those files to change it.
7. On **Data handling**, answer the questions on personal data, other services, retention and users under 18.
8. On **Compliance**, check the contact email and select all 4 acknowledgements.
9. On **Review and submit**, keep **GitHub push webhook** or choose **Scheduled check only**, and set **Auto-publish passing versions** if you want it. Auto-publish matters only once the **Auto-publish** row on the plugin's **Overview** tab says versions can go live without a reviewer.
10. Select **Submit for review**. The portal shows **Plugin submitted for review**, with **Set up push updates** if you kept the webhook.
11. If the repository is private, make it public on GitHub, then select **Check for new commits** on the plugin's page.
12. When the status reads **Approved**, select **Publish** on the plugin's page. By default this sends a request, and a reviewer publishes the version. The status then reads **Published**.

A private repository can go through these steps with the Claude GitHub App installed and your consent to the source upload. Until it is public, the plugin's page shows **Publishing needs a public repository**.

Validation gives each finding one of 4 results. **Blocking** stops the submission. **Policy hold** lets you submit, and a reviewer reads that version before it goes live; a hold isn't a rejection. **Warning** and **Note** need no fix.

## How do you submit a connector?

The portal takes a connector through 10 pages, and [Anthropic's connector submission page](https://claude.com/docs/connectors/building/submission) lists what each asks for. Finish in one browser session, because the portal saves your progress only in that browser.

1. Open the developer portal at [claude.ai/directory/manage](https://claude.ai/directory/manage) and select **Submit new**.
2. Choose **MCP connector**.
3. On **Connection**, paste the server's `https://` URL, or pick a custom connector you already added. If customers connect to different URLs, select **Users connect to different URLs** and choose **Multiple URLs** or **URL pattern**.
4. On **Tools**, check the tools that sync from the server, and fix any flagged ones on the server.
5. On **Listing**, enter a name up to 100 characters, a one-liner up to 200, a description up to 2,000, 1 to 5 categories, the documentation, privacy policy and support links, the icon, and the URL slug, which can't change once published.
6. On **Use cases**, describe the main uses, what a user needs first, and whether the connector reads data, writes it or both.
7. On **Company**, enter the company name, website and a primary contact for review updates.
8. On **Authentication**, choose whether users sign in and how. Choose **Required when the server asks** if some tools work without sign-in. To have Anthropic hold your OAuth client, enter its client ID and secret here, and enter the secret again if you reload the page before you submit.
9. On **Data handling**, say whether the API is your own, a partner's you call with permission, or a third party's you don't control, and whether the connector handles health data or sponsored content.
10. On **Test & launch**, give the reviewer test account and every step to reach your tools, and confirm that you ran each tool.
11. On **Compliance**, select all 7 acknowledgements.
12. On **Review and submit**, read any quality warnings, which go to the review team, then submit.

By default, Anthropic scans the submission and lists it as a Community connector with no action from you. If a person reviews it, the status moves through **In review** to **Approved**. Then select **Publish**, and the status changes to **Published**. Editing the listing before you publish sends it back to draft for another review ([Track your directory submission](https://claude.com/docs/directory/submission-status)).

A listing with **Multiple URLs** or a **URL pattern** can be published only after it earns the Verified label. You can't apply for Verified, and these reviews take longer. A URL pattern also rules out Anthropic-held OAuth credentials, and **Multiple URLs** rules out a custom connection ([Anthropic's connector submission page](https://claude.com/docs/connectors/building/submission)).

Anthropic can't edit the detail card description you write in the portal, so get it right before you submit. [How to write a Claude connector or plugin listing people find](https://theopenapps.com/blog/how-to-write-a-claude-listing) covers the text.

Give a privacy policy URL in the **Listing** step; every connector in our data shows one. Anthropic's connector page says a missing privacy policy means immediate rejection, though it says so under its rules for local connectors.

## What happens after you submit?

After you submit, the developer portal shows one status for each submission, and only **Published** means people can install the plugin or connector ([Track your directory submission](https://claude.com/docs/directory/submission-status)).

Approved doesn't mean live. When a plugin version passes, select **Publish**; by default that sends a request, and a reviewer publishes the version. A connector that a person reviewed goes live as soon as you select **Publish**.

| Status | Plugin bundle | MCP connector |
| --- | --- | --- |
| **Draft** | Not sent; select **Continue submission** | Not sent; you continue it |
| **In review** | A reviewer checks it | A reviewer checks it, for submissions a person reviews |
| **Not approved** | A rejected plugin shows **Resubmit for review** and **Appeal this decision** | Read the notes under **View feedback**, edit the listing and resubmit |
| **Approved** | Passed, not live; the card says who publishes | Cleared by a reviewer, not live; select **Publish** |
| **Published** | Live | Live |

A plugin can also show **Scanning** (the security scan is running), **Needs changes** (push a fix, then select **Check for new commits**), **Not live yet** (Anthropic still has to list it), **Delisted** (select **Relist plugin** to ask for it back) and **Withdrawn**. A connector can also show **Changes requested**: read the note under **View feedback**, then resubmit.

A connector is listed with the Community label by default. Anthropic has screened a Community connector but not reviewed it in depth, and Claude shows a reminder before someone connects it. A Verified connector shows a checkmark, and Anthropic has tested its tools. Anthropic may escalate a listing to Verified review on its own; there is no application ([connector verification](https://claude.com/docs/connectors/verification)).

### What gets a submission held or rejected?

| Outcome | Plugin bundle | MCP connector |
| --- | --- | --- |
| Can't submit | A **Blocking** validation finding, such as an unpinned launcher, a short README or a taken name | We have not found this documented; fix any tools the **Tools** page flags |
| Policy hold | A registry package (even pinned), a lockfile install, a file over 256 KiB, more than 512 files, a binary, a server started through a shell or `npm run`, or code the scan can't read | Not a connector result; some submissions get a person's review |
| Rejected | A failed security scan on a plugin never published, or a reviewer's decision | A reviewer's **Not approved**, for the reasons in the connector list above |
| Not accepted | What the [Software Directory Policy](https://support.claude.com/en/articles/13145358-anthropic-software-directory-policy) refuses: money transfers without a person approving them, AI image, video or audio generation, advertising, adult content | The same policy; the connector checklist also refuses money transfers outright |

### How long does review take?

Anthropic's pages give no fixed review time, and say that connector reviews by a person vary with queue volume ([Anthropic's connector submission page](https://claude.com/docs/connectors/building/submission)). Before the portal opened, [Petr Kushnir wrote on dev.to](https://dev.to/tantuc/how-to-get-an-mcp-server-into-the-claude-directory-20-days-eu52month-and-everything-the-docs-1nj2) that his Trip Logistics connector took 20 days, from submission on Jul 10, 2026 to approval as Community on Jul 30. That is one case, from before Sep 25.

Announce a connector only once its status reads **Published** and the listing shows in the [directory](https://claude.ai/directory) people browse inside Claude. In our data, a connector's listing can go up weeks after the launch date Claude shows for it.

If a plugin seems stuck, use **Get help** or **Contact Anthropic** in its portal menu, or email `directory@anthropic.com`; a rejected plugin also shows **Appeal this decision**. For a connector, email `mcp-review@anthropic.com`.

### How do you update a listed plugin or connector?

To update a plugin ([Anthropic's plugin submission page](https://claude.com/docs/plugins/submit)):

1. Merge the change to the tracked branch, and raise `version` in `plugin.json` if you set it.
2. Select **Check for new commits** on the plugin's page, or let the push webhook or the scheduled check find the commit.
3. When the new version passes, publish it as you did the first. The **Auto-publish** row on the plugin's **Overview** tab says whether later versions go live by themselves.

Until a new plugin version is published, the listing serves the last one. If the security scan fails a new version, later versions wait until a reviewer clears the plugin.

To update a connector ([after publishing](https://claude.com/docs/connectors/building/after-publishing)):

1. Deploy the tool changes to your server.
2. Edit the listed tool names, and any other listing details, on the listing's page in the portal.
3. Submit the edit for review. The live listing stays as it was until a reviewer approves the edit ([Manage your directory listing](https://claude.com/docs/connectors/building/managing-your-listing)).

### What should you do once the listing is live?

- Link the connector's permanent listing URL, `claude.ai/directory/connectors/<slug>`, from your own docs or from a **Connect to Claude** button ([after publishing](https://claude.com/docs/connectors/building/after-publishing)).
- Read a plugin's **Usage** tab. Its directory funnel counts listing views, install clicks and installs, and Anthropic's announcement says you also see which searches lead people to the listing.
- If a reviewer edited a plugin's name or short description during review, the listing keeps the reviewer's text ([after publishing](https://claude.com/docs/connectors/building/after-publishing)).

[How to write a Claude connector or plugin listing people find](https://theopenapps.com/blog/how-to-write-a-claude-listing) covers the name and description a listing shows.

### Submitted through the Claude Console form?

The Console form is no longer supported. Until you move an old submission, the portal can refuse the same repository and folder with **Already submitted by another organization**.

1. Open **Plugin submissions** in the [Claude Console](https://platform.claude.com/plugins/submissions).
2. If the submission has a **Withdraw** button, select it, then submit again in the portal.
3. If it has none, delete any portal draft for the same folder, then email `directory@anthropic.com` to have it moved.

## Did the portal change how fast listings arrive?

Plugins started arriving far faster in the week after Claude's developer portal opened on Sep 25, 2026. In the 8 weeks to Sep 20, the directory added a median 34.5 plugins a week; in the week of Sep 28 it added 887, then 626 and 361. The timing lines up with the portal; the data doesn't show why.

**New Claude listings per week, by kind**

| Week of | Plugins | Connectors | Desktop extensions | All |
| --- | ---: | ---: | ---: | ---: |
| Jul 27 | 30 | 31 | 1 | 62 |
| Aug 3 | 33 | 32 | 1 | 66 |
| Aug 10 | 33 | 27 | 9 | 69 |
| Aug 17 | 25 | 33 | 2 | 60 |
| Aug 24 | 53 | 16 | 0 | 69 |
| Aug 31 | 46 | 29 | 0 | 75 |
| Sep 7 | 36 | 25 | 0 | 61 |
| Sep 14 | 45 | 17 | 0 | 62 |
| Sep 21 | 33 | 13 | 0 | 46 |
| Sep 28 | 887 | 10 | 0 | 897 |
| Oct 5 | 626 | 11 | 0 | 637 |
| Oct 12 | 361 | 5 | 0 | 366 |
| Oct 19 (partial, to Oct 25) | 6 | 5 | 0 | 11 |

*In the 8 weeks to Sep 20 the directory added a median 34.5 plugins a week; the week of Sep 28 added 887, and each later week added fewer. Faded weeks are partial (Oct 19) or not yet complete (connector weeks since Sep 28). Source: OpenApps data, Oct 25, 2026.*

In our data, plugins were 57% of new listings in the 8 weeks to Sep 20 and 99% (1,874 of 1,900) in the 3 weeks to Oct 18. That share leaves out Community connectors, which our data doesn't hold, and connector weeks since Sep 28 are not yet complete, so the real plugin share may be lower.

Recent connector weeks are likely to grow. Of the listings that went up in the 2 weeks to Oct 25, every plugin went up within 0.4 days of its launch date. In our data, which holds no Community connectors, the 72 connectors went up a median 42.6 days after the date Claude shows. So don't read the 10, 11 and 5 connectors in the weeks since Sep 28 as a slowdown.

Plugins go live in batches. On Oct 5, 212 plugins launched in the same hour. Since Oct 7, most days have added fewer than 20 plugins, and 4 days added many more: 114 on Oct 13, 101 on Oct 15, 45 on Oct 16 and 97 on Oct 18. In the week of Oct 19, 6 plugins launched through Oct 25. A quiet week after you submit is not a rejection; check your status in the portal.

![OpenApps new launches for Claude over the last 30 days, grouped by launch day: Thu, Oct 22 and Wed, Oct 21 list 3 listings each, every row marked Plugin or Connector.](https://theopenapps.com/assets/blog/how-to-submit-a-claude-plugin-or-connector/new-launches-e9530e2b.webp)

*Each day's new Claude listings sit under one heading with their count and kind. Screenshot: theopenapps.com, Oct 25, 2026*

Plugins added Sep 28 to Oct 18 rank lower than older ones. Of them, 75% have a place in [Most popular](https://theopenapps.com/glossary/most-popular-claude), but only 9 are among the top 100 plugins on [Claude's Most popular chart](https://theopenapps.com/charts/claude), against 91 older plugins.

## What our data can't tell you

- **Review time and outcomes.** We see listings, not submissions, so we can't time a review or count rejections and held versions. Leave room before any launch date you announce.
- **Community connectors.** Anthropic's pages say connectors are listed as Community by default, yet no connector in our data carries the Community label. Petr Kushnir's Trip Logistics connector, approved as Community on Jul 30, 2026, isn't in our data either. Our connector numbers may leave out Community listings, and a Community connector you submit may not appear in OpenApps data.
- **Earlier weeks.** The counts for each week include only listings that were still in the directory later on. A listing removed soon after launch isn't counted, so the older weeks may be low.
- **Why plugins arrive in batches.** Anthropic's pages don't say, and our data shows when, not why.

> **Track your listing**
> 
> Follow your status in the portal. Once a plugin's status reads **Published**, look for it on [new launches for Claude](https://theopenapps.com/charts/new/claude). For a connector, open its permanent listing URL in the directory, or find it under **Customize > Connectors** in Claude.

## See the data

- [New launches on Claude](https://theopenapps.com/charts/new/claude)
- [Claude connectors vs plugins vs skills](https://theopenapps.com/blog/claude-connectors-vs-plugins-vs-skills)
- [How to write a Claude listing](https://theopenapps.com/blog/how-to-write-a-claude-listing)
- [Claude top charts](https://theopenapps.com/charts/claude)
- [Tool annotations, defined](https://theopenapps.com/glossary/tool-annotations)
