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 .zip is enough

Steps

  1. 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 --version
  2. 2.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. 3.Add the marketplace file

    To publish from the plugin's own repository, save .claude-plugin/marketplace.json beside plugin.json with one entry whose source is ./. Keep the entry name equal to the manifest name, because users install by name@marketplace and a rename breaks existing installs.

  4. 4.Validate with Claude Code

    --strict also fails on warnings such as a missing version. Bump version on each release, or omit it so Claude Code uses the commit SHA.

    claude plugin validate --strict .
  5. 5.Install it the way users will

    After you push, add the marketplace and install the plugin from it. hol-guard plugin links prints the same commands with your names filled in.

    claude plugin marketplace add owner/repo
    claude plugin install name@marketplace
    claude plugin list
  6. 6.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. 7.Add the install block to your README

    hol-guard plugin links --block prints a README block between hol-install-block markers: one hol-guard plugin install command, 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 . --block
  8. 8.Connect the repository on HOL

    Open the connect page with your repository to verify ownership and claim the listing. hol-guard plugin links prints 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

List it on HOL

Connect the repository to verify ownership and claim the listing. New plugins can be submitted for free.