Claude Code Plugin Marketplaces Explained

Claude Code Plugin Marketplaces Explained

A Claude Code plugin marketplace is a catalog of plugins that lives in a folder or a git repository. You add the catalog to Claude Code once, and then you can install any plugin in it by name. Anthropic runs a few marketplaces for you, and you can build your own for your team in about ten minutes.

In this guide you will learn which marketplaces Anthropic publishes, how the marketplace.json file works, and how to build, test and share a small marketplace of your own. We built a real one called team-tools with two plugins, broke it on purpose, fixed it, installed from it and then removed it again.

This is Part 34 of 53 in our Claude Code tutorials series. In the previous part you learned how to build your own plugin; today you learn how to share plugins through a catalog people can install from.

Tested with Claude Code v2.1.310 on October 25, 2026, on macOS, inside a small throwaway demo folder.

Quick Summary: Claude Code Plugin Marketplaces at a Glance

QuestionShort answer
What is a marketplace?A folder or repo with .claude-plugin/marketplace.json listing plugins
Which one do I get by default?claude-plugins-official, added when you first start an interactive session
How do I add another one?/plugin marketplace add owner/repo
How do I install from it?/plugin install plugin-name@marketplace-name
Which fields are required?name, owner and plugins (each entry needs name and source)
How do I check my file?claude plugin validate ./my-marketplace
How do I share it with a project?Add it with –scope project so it lands in .claude/settings.json
How do I remove it?claude plugin marketplace remove name (this also uninstalls its plugins)

What Is a Claude Code Plugin Marketplace?

Think of a marketplace as an app store catalog without the store. It is a single JSON file, .claude-plugin/marketplace.json, that names the catalog, says who owns it and lists each plugin with the place Claude Code should fetch it from.

The plugins themselves are normal Claude Code plugins. A marketplace does not change what a plugin can do. It only answers two questions: which plugins exist, and where their files live.

Why does this layer exist at all? Because sending a folder or a zip file works for one or two people, but it breaks down fast. A marketplace gives a team one place to discover plugins, one command to install them, and a way to keep receiving updates from a catalog you control.

A marketplace is a list, not a container: it points at plugins, and Claude Code fetches each one when you install it.

The plugin marketplace vs the plugin itself

Each plugin has its own manifest called plugin.json, which you met in Part 33. The marketplace has its own manifest called marketplace.json. The two files have different jobs, and mixing them up is the most common source of confusion.

FileLives inWhat it describes
plugin.jsoneach plugin’s .claude-plugin/ folderOne plugin: its name, version, description
marketplace.jsonthe marketplace’s .claude-plugin/ folderThe catalog: its name, owner and the list of plugins

Anthropic’s Official, Community and Demo Marketplaces

Anthropic publishes three general-purpose marketplaces, each in its own GitHub repository. When you install a plugin, you type the marketplace name after the @ sign, so it helps to know the exact names.

Official docs table listing the marketplace names claude-plugins-official, claude-community and claude-code-plugins
The docs table of Anthropic’s marketplaces; the boxed row is the name you type after @.
MarketplaceName to type after @What is in itHow you get it
Officialclaude-plugins-officialAnthropic’s own plugins plus plugins from partners and other authorsAdded for you the first time you start an interactive terminal session
Communityclaude-communityThird-party plugins their authors submitted to Anthropic/plugin marketplace add anthropics/claude-plugins-community
Democlaude-code-pluginsA small set of example plugins/plugin marketplace add anthropics/claude-code

Notice that the community marketplace’s name is claude-community, not its repository name. Also, if an older tutorial tells you to add anthropics/claude-code, that gives you the demo marketplace, not the official one. The docs suggest installing plugins like commit-commands and code-review from claude-plugins-official so you do not end up with two copies.

Many popular plugins live in their authors’ own marketplaces instead. Anthropic does not review those, so read the official plugin security page before you add one.

Browse the marketplaces you already have

Type /plugin in a session and open the Marketplaces tab. You see every catalog Claude Code knows about, how many plugins each one offers and when it was last updated. The Discover tab next to it lets you search across all of them.

Claude Code /plugin panel on the Marketplaces tab showing Anthropic Directory, claude-plugins-official and a local team-tools marketplace
The Marketplaces tab in /plugin, with our own team-tools catalog listed under Anthropic’s.

You can also see the same list from your shell with claude plugin marketplace list. That is handy in scripts or when you want to copy a source path.

How to Create a Claude Code Plugin Marketplace

Now let’s build one. We follow the same loop the official marketplace creation guide describes: set up the folder, write the catalog, validate it, add it, install from it and confirm it loaded.

Diagram of the plugin marketplace flow from building plugins and writing marketplace.json to a teammate adding the marketplace and installing by name
The whole marketplace loop, from your machine to a teammate’s.

Step 1: Set up the marketplace folder

A marketplace is a folder with a .claude-plugin/ folder inside it, plus the plugins it lists. We made a folder called team-tools and copied two plugins under plugins/: greet-team, with one skill called hello, and the standup-helper plugin from Part 33.

mkdir -p team-tools/.claude-plugin team-tools/plugins
cp -r greet-team standup-helper team-tools/plugins/
claude plugin validate ./team-tools/plugins/greet-team

Validating each plugin first is a good habit. If something fails later, you know the problem is in the catalog, not in the plugin.

Folder tree of a Claude Code plugin marketplace with marketplace.json and two plugins under plugins
What goes where: the catalog sits in .claude-plugin/ and each plugin keeps its own manifest.

Step 2: Write marketplace.json

The file needs three things at the top: a name, an owner and a plugins array. Each entry in plugins needs a name and a source. A description is optional but worth adding, because people see it when they browse your catalog in /plugin.

{
  "name": "team-tools",
  "description": "Plugins for our demo team",
  "owner": { "name": "Demo Team" },
  "plugins": [
    {
      "name": "greet-team",
      "source": "./plugins/greet-team",
      "description": "Says hello and shares today's focus"
    },
    {
      "name": "standup-helper",
      "source": "./plugins/standup-helper",
      "description": "Writes a short daily standup note"
    }
  ]
}
Terminal listing the files of the team-tools marketplace and printing its marketplace.json with two plugin entries
Our real team-tools folder and its catalog, with one entry per plugin.

Step 3: Validate the marketplace (and see it fail)

To show what the validator catches, we also made a broken copy. It had no owner field, and its source used ./../plugins/greet-team, a path that steps out of the folder with two dots.

claude plugin validate output showing a Path contains .. error and a missing owner error, ending in Validation failed
The validator caught both mistakes and even suggested the correct path format.

The fix is simple: add the owner block and write the path from the marketplace root as ./plugins/greet-team. Running claude plugin validate ./team-tools on the fixed folder ended with the line Validation passed.

Official docs example of marketplace.json with name, owner and plugins fields highlighted
The docs example has the same shape: name, owner and a plugins array.

Step 4: Add the marketplace and install a plugin

Next, register the folder as a marketplace and install one plugin from it. The install id is the entry name, an @ sign and the marketplace name. We used –scope project so both settings were written to the demo project, not to our personal settings.

claude plugin marketplace add ./team-tools --scope project
claude plugin install greet-team@team-tools --scope project
claude plugin list
Terminal showing the team-tools marketplace added in project settings, greet-team installed at project scope and its status enabled
Added, installed and enabled, all at project scope.

Inside a session, /plugin marketplace add ./team-tools does the same job. The difference is that /plugin install opens the plugin’s details in the panel, and you confirm the install there.

Step 5: Confirm it loaded and try it

claude plugin marketplace list now shows team-tools with a Folder source, next to Anthropic’s catalogs. claude plugin details greet-team shows where the plugin came from and what it adds.

claude plugin marketplace list output with anthropic-plugin-directory, claude-plugins-official and team-tools from a local folder
Our local catalog sits next to the built-in ones.
claude plugin details output for greet-team showing source greet-team@team-tools and one skill named hello
The details view confirms the source and the one skill inside.

Then we started a session in the demo folder and typed the skill name. Like every plugin skill, it carries the plugin name as a prefix, so it runs as /greet-team:hello.

Claude Code autocomplete suggesting /greet-team:hello with its description
The installed skill shows up in autocomplete with the plugin prefix.
Claude Code response to /greet-team:hello greeting the team and naming today's focus from notes.md
The skill read notes.md and replied with a greeting and today’s focus.

What Project Scope Writes to Your Settings

Because we used –scope project, Claude Code wrote two keys into .claude/settings.json in the demo folder. extraKnownMarketplaces records where the catalog lives, and enabledPlugins turns greet-team on for this project.

The project .claude/settings.json with extraKnownMarketplaces for team-tools and enabledPlugins greet-team@team-tools set to true
Project scope puts the marketplace and the plugin in a file you can commit.

Commit that file and teammates who open the repo get the same setup. For a hosted marketplace, use the owner/repo form instead of a local path, since a folder path on your Mac will not exist on their machines. The settings files guide explains how user, project and local scopes stack.

Choose a Plugin Source for Each Entry

Every entry has a source that tells Claude Code where to fetch that one plugin. Pick it based on where the plugin’s files are stored.

Official docs table of plugin sources: relative path, github and git-subdir with minimal source values
The three sources most marketplace owners use.
SourceUse it whenExample value
Relative pathThe plugin sits inside the marketplace folder“./plugins/greet-team”
githubThe plugin is its own GitHub repo{ “source”: “github”, “repo”: “your-org/greet-team” }
git-subdirThe plugin is a folder inside another repo{ “source”: “git-subdir”, “url”: “your-org/monorepo”, “path”: “tools/greet-team” }

The docs also list url, archive, npm and command sources for less common setups. The marketplace reference covers every field, including pinning a git source to a ref or sha.

Real Examples of When to Use a Marketplace

  • A team of five wants the same review skill, standup skill and formatting hooks on every laptop. One private repo with one marketplace.json does it.
  • A company has plugins spread across several repos. A single catalog with github and git-subdir sources pulls them together.
  • You maintain an open source plugin. Your repo can be its own marketplace, and anyone can add it with /plugin marketplace add owner/repo.
  • You are still building a plugin for yourself. Skip the marketplace and load it with –plugin-dir, as shown in Part 33.

Try It Yourself

Make an empty practice folder, open Claude Code in it, and paste this prompt. It keeps the job small, and you stay in control of every file it creates.

Create a plugin marketplace folder called practice-tools in this directory.
Put .claude-plugin/marketplace.json in it with name "practice-tools",
an owner name "Me", and one plugin entry named "say-hi" whose source is
"./plugins/say-hi". Create that plugin with a plugin.json named "say-hi"
and one skill at skills/hi/SKILL.md that replies with a one-line greeting.
Then run claude plugin validate ./practice-tools and show me the result.

When it passes, run claude plugin marketplace add ./practice-tools –scope project, install say-hi@practice-tools, and run /say-hi:hi in a new session. Remove it afterward with claude plugin marketplace remove practice-tools.

Common Mistakes

  • Writing paths from inside .claude-plugin/. Relative sources start at the marketplace root, so a path with .. fails validation.
  • Pointing at a folder that does not exist. Validation passes, but the install fails with Source path does not exist.
  • Giving an entry a different name from its plugin.json. Installing by the manifest name then reports that the plugin was not found in the marketplace.
  • Using a reserved name such as claude-plugins-official. It passes validation, but Claude Code refuses it when you add the marketplace.
  • Expecting remove to keep your plugins. Removing a marketplace from its last scope also uninstalls every plugin you installed from it.
Official docs section explaining that a path with .. fails validate and a missing directory fails at install
The docs explain which command catches which path mistake.

Pro Tips

  • Run claude plugin validate after every edit to marketplace.json. Then install on your own machine before you share, because validation and installation catch different problems.
  • With a local folder and a relative path, edits to a plugin apply at the next session start or when you run /reload-plugins, with no version bump needed.
  • Use –scope project when the marketplace belongs to a repo, and the default user scope when it is just for you.
  • Add the –json flag to marketplace commands in CI scripts so you get one machine-readable result line.
  • Run claude plugin marketplace update to refresh a catalog without losing its installed plugins.

To start over cleanly, remove the marketplace. Here is what that looked like at the end of our test.

claude plugin marketplace remove team-tools output confirming removal and that greet-team was uninstalled
Removing the marketplace also uninstalled the plugin we got from it.

Claude Code Plugin Marketplace Cheat Sheet

Cheat sheet of Claude Code plugin marketplace commands and marketplace.json fields
Save this card: the commands and fields you will use most.

For every flag on these commands, see the official plugin commands reference. For more background on Claude itself, our Claude AI overview is a good start.

Frequently Asked Questions

Do I need a marketplace to use my own plugin?

No. For your own use, load the plugin with –plugin-dir. A marketplace makes sense when you want other people to install and update your plugins from one catalog.

Can a plugin marketplace be a private repository?

Yes. The docs say the repository can be private and can list as many plugins as you like. Anyone with access adds it with claude plugin marketplace add owner/repo.

What is the difference between the official and community marketplaces?

The official one, claude-plugins-official, is added for you and holds Anthropic’s plugins plus partner plugins. The community one, claude-community, holds third-party plugins their authors submitted, and you add it yourself.

How do teammates get updates to my marketplace?

Push changes to the repo. They can run claude plugin marketplace update to fetch new plugins and versions from it.

Is it safe to add any third-party marketplace?

Anthropic does not review third-party marketplaces, and plugins can run code on your machine. Add only catalogs you trust, and read a plugin’s files before you install it, just as you would with MCP servers.

Conclusion

A Claude Code plugin marketplace is just a marketplace.json file that lists plugins and where to find them, yet it turns scattered folders into a catalog your whole team can install from by name. You now know Anthropic’s three marketplaces and their exact names, how to write and validate your own catalog, how to add it at project scope, how to pick a source for each plugin, and how to remove it cleanly, so the next step is to try the practice task and build a small catalog of your own.

Previous in the series: Part 33, How to Create Your Own Claude Code Plugin

Next in the series: Part 35: Run Prompts on a Schedule With /loop in Claude Code.

Newsletter

New AI tools in your inbox

The best new tools and the AI news that matters, in one short email. Unsubscribe any time.

Free · No spam · Unsubscribe any time

✓ Looks like you’re subscribed

Loading Google’s sign-up form…

Looks like you’re already subscribed

Thanks for reading! New AI tools and the AI news that matters will land in your inbox.

Not subscribed yet? Refresh the page to load the sign-up form.

The sign-up form couldn’t load. If you use an ad or content blocker, allow news.google.com and reload the page.

Free instant check before you pay. Takes a few seconds.

Scroll to Top