Plugin developer guide
Publish a Claude Code plugin through a marketplace or Anthropic's directory
By HOL · Reviewed by Michael Kantor on
Direct answer
Add .claude-plugin/marketplace.json to the repository with a name, an owner and a plugins array whose entry has the same name as plugin.json. Run claude plugin validate --strict and hol-guard plugin check, then push. Users run claude plugin marketplace add owner/repo and claude plugin install name@marketplace. To reach claude.ai and Cowork too, submit from the directory developer portal on a paid plan.
Who this is for
Claude Code plugin authors choosing between their own marketplace and Anthropic's directory.
Good fit
- A single plugin published from its own repository
- A marketplace repository listing several plugins
- A plugin heading for Anthropic's directory
Not a fit
- Sharing a plugin with a few people, where a folder or a
.zipis enough
Steps
1.Install HOL Guard
The Plugin Kit ships inside HOL Guard. It needs Python 3.10 or newer and pipx. If Guard is already installed, upgrade it so the Kit commands below are available.
pipx install hol-guard pipx upgrade hol-guard hol-guard --version2.Check the plugin
The check detects every manifest in the folder, lists skills and MCP servers, and reports what each runtime would reject. It exits 0 when the plugin passes, 1 when it has errors and 2 when it could not run. It reads only the folder, runs no commands and makes no network calls.
hol-guard plugin check .3.Add the marketplace file
To publish from the plugin's own repository, save
.claude-plugin/marketplace.jsonbesideplugin.jsonwith one entry whosesourceis./. Keep the entrynameequal to the manifestname, because users install byname@marketplaceand a rename breaks existing installs.4.Validate with Claude Code
--strictalso fails on warnings such as a missingversion. Bumpversionon each release, or omit it so Claude Code uses the commit SHA.claude plugin validate --strict .5.Install it the way users will
After you push, add the marketplace and install the plugin from it.
hol-guard plugin linksprints the same commands with your names filled in.claude plugin marketplace add owner/repo claude plugin install name@marketplace claude plugin list6.Submit to Anthropic's directory
The directory reaches people on claude.ai, in Cowork and in Claude Code. Submit from the developer portal at claude.ai/directory/manage on a paid claude.ai plan. The portal applies rules the CLI does not check, so run the pre-submission checklist first.
7.Add the install block to your README
hol-guard plugin links --blockprints a README block betweenhol-install-blockmarkers: onehol-guard plugin installcommand, how to get HOL Guard, and each runtime's own install commands for the runtimes the repository already supports. Paste it into the README; HOL finds it on its next scan and shows the install count on your listing once enough installs are reported.hol-guard plugin links . --block8.Connect the repository on HOL
Open the connect page with your repository to verify ownership and claim the listing.
hol-guard plugin linksprints the same link with the repository filled in.hol-guard plugin links .
Limitations
- Anthropic's official marketplace does not take submissions through the directory portal.
- Some plugin components load only in Claude Code, not on claude.ai or in Cowork.
- A listing, a passing check or a marketplace review is not a safety guarantee. HOL shows its scan evidence on the listing so users can judge for themselves.
Questions
Can my marketplace repository be private?
Yes. Anyone who can clone the repository can install from it, so a private repository gives a private marketplace.
How do users get updates?
They run claude plugin update name@marketplace, or turn on auto-update for your marketplace, which is off by default.
Sources
Related guides
List it on HOL
Connect the repository to verify ownership and claim the listing. New plugins can be submitted for free.