What
The claude plugin subcommands and eval init now read their usage strings, aliases and descriptions from a single shared table instead of repeating them where each command is registered. Help text is unchanged, including aliases i, remove, rm and autoremove.
Evidence
usage: "plugin install <plugin>", Remove a configured marketplace
Strings lifted out of the shipped bundle, so the claim above can be checked against them.
Names in the bundleclaude plugineval init
The entry above is what we published on the day. These lines were added later, as Anthropic's own pages caught up, and they sit beside the original rather than replacing it.
Added since
A small documentation edit on Create and distribute a plugin marketplace touched a line naming claude plugin after this was published.
Test your marketplace before sharing. Validation checks file structure; to test whether a plugin changes what Claude does on realistic prompts, run its eval suite with [`claude plugin eval`](/docs/en/plugin-evals) before you publish a new …plugin-marketplaces see the edit
Confirmed since
Anthropic's documentation has since written up eval init, on Error reference.
You ran [`claude plugin eval`](/docs/en/plugin-evals) or `claude plugin eval init` and it exited 1 with one of these messages before doing anything:errors see the edit
Confirmed since
Anthropic's documentation has since written up claude plugin, on Claude Code changelog.
* Added `--json` to `claude plugin install`, `uninstall`, `update`, `enable` and `disable`, and `errorDetails`/`noteDetails` to each row of `claude plugin list --json`changelog see the edit
One source agreesOne thing we can check says the same as this entry.
Anthropic's documentation agrees
Anthropic's documentation has since written up claude plugin, on Claude Code changelog.