[DOCS] `/plugin` enable/disable docs do not address name mismatch between `plugin.json` and marketplace entry (fixed in v2.1.195)

Open 💬 0 comments Opened Jun 26, 2026 by coygeek

Documentation Type

Unclear/confusing documentation

Documentation Location

https://code.claude.com/docs/en/discover-plugins

Section/Topic

The /plugin enable/disable description in the discover-plugins guide and the corresponding claude plugin enable / claude plugin disable sections in the plugins-reference and plugin-marketplaces guides. These live docs cover plugin enablement, but they need one more rule: how Claude Code resolves the plugin name when a plugin's plugin.json name field differs from the name field of the marketplace entry that distributes it.

Current Documentation

The plugins-reference command reference describes enable as:

Enable a disabled plugin. If the plugin declares dependencies, Claude Code enables them transitively at the same scope, and the command fails when a dependency is not installed.

The marketplace reference says:

<name>: Plugin name or plugin-name@marketplace-name for a specific marketplace

The plugin-marketplaces reference for the marketplace name field says:

Marketplace identifier (kebab-case, no spaces). This is public-facing: users see it when installing plugins

These live pages do not yet call out what happens when the same plugin is referenced by two different names. The marketplace guide says the marketplace entry's name can differ from the plugin's plugin.json name (see "Strict mode" and the optional-fields tables), but it does not say how /plugin enable should be invoked when those two values disagree.

What's Wrong or Missing?

Claude Code v2.1.195 fixed a bug where /plugin Enable/Disable failed silently when a plugin's plugin.json name field differed from the name field of its marketplace entry. Before the fix, /plugin enable would resolve the name from plugin.json while the marketplace UI listed the plugin under its marketplace-entry name, so the command could fail to resolve the displayed plugin or the toggle could do nothing.

After the fix, /plugin resolves the name consistently. The docs do not describe this resolution rule, so users authoring plugins whose plugin.json name differs from the marketplace entry name cannot tell which name to use with /plugin, /plugin install, or claude plugin enable.

Suggested Improvement

Add a short note to the discover-plugins guide's /plugin description and the plugins-reference plugin enable / plugin disable sections:

When a plugin's plugin.json name differs from the name field of the marketplace entry that distributes it, address the plugin by its marketplace entry name in /plugin commands and claude plugin enable/disable. Claude Code v2.1.195 fixed the enable/disable flow to use the marketplace entry name consistently. Earlier versions could fail silently or match the wrong plugin.

Add the same sentence to the plugin-marketplaces guide under the "Strict mode" section, which already discusses the relationship between plugin.json and the marketplace entry.

Impact

Medium - Makes feature difficult to understand

Additional Context

The plugins-reference command syntax already supports plugin-name@marketplace-name for explicit disambiguation. The docs should make clear that, after the v2.1.195 fix, that explicit form works for plugins whose names disagree, and that the unqualified /plugin enable <name> also resolves to the marketplace entry name.

Affected Pages:
| Page | Context |
|------|---------|
| https://code.claude.com/docs/en/discover-plugins | /plugin enable/disable steps |
| https://code.claude.com/docs/en/plugins-reference | claude plugin enable / claude plugin disable command reference |
| https://code.claude.com/docs/en/plugin-marketplaces | "Strict mode" section discussing plugin.json vs marketplace entry |

Total scope: 3 pages affected

View original on GitHub ↗