[DOCS] Plugin enable/disable docs omit scope auto-detection when `--scope` is omitted

Open 💬 5 comments Opened Mar 27, 2026 by coygeek

Documentation Type

Incorrect/outdated documentation

Documentation Location

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

Section/Topic

plugin enable and plugin disable command reference, especially the --scope behavior when it is omitted

Current Documentation

The plugin reference currently says:

| -s, --scope <scope> | Scope to enable: user, project, or local | user | | -s, --scope <scope> | Scope to disable: user, project, or local | user |

Related plugin marketplace docs currently say:

Seed entries take precedence: marketplaces declared in the seed overwrite any matching entries in the user's configuration on each startup. To opt out of a seed plugin, use /plugin disable rather than removing the marketplace. Path resolution: Claude Code locates marketplace content by probing $CLAUDE_CODE_PLUGIN_SEED_DIR/marketplaces/<name>/ at runtime, not by trusting paths stored inside the seed's JSON. This means the seed works correctly even when mounted at a different path than where it was built. * Composes with settings: if extraKnownMarketplaces or enabledPlugins declare a marketplace that already exists in the seed, Claude Code uses the seed copy instead of cloning.

The discover page also currently only shows:

/plugin disable plugin-name@marketplace-name /plugin enable plugin-name@marketplace-name

What's Wrong or Missing?

Changelog v2.1.85 says:

Fixed /plugin enable and /plugin disable failing when a plugin's install location differs from where it's declared in settings

That confirms current plugin enable/disable behavior is not simply "default to user scope" in this class of installs. The primary command reference is now stale because it still presents user as the default scope for plugin enable and plugin disable, while current behavior auto-detects the correct installed scope/location when --scope is omitted.

This matters because the docs already describe cases where the plugin copy Claude Code uses can differ from the marketplace/settings declaration, especially with seeded plugins. Users are told to use /plugin disable to opt out of a seed plugin, but the docs never explain that the command resolves the installed scope automatically instead of requiring the user to guess the right scope or assume user scope.

Suggested Improvement

Update the plugin enable and plugin disable reference entries to document the current behavior explicitly. For example:

If --scope is omitted, Claude Code auto-detects the plugin's current installed scope instead of always defaulting to user scope. Pass --scope user|project|local when you want to target a specific scope explicitly.

Also add a short note or example in the plugin discovery/marketplace docs clarifying that seeded, project-scoped, and local plugins can be enabled or disabled without manually matching the backing install path, because Claude Code resolves the active installed scope automatically.

Impact

Medium - Makes feature difficult to understand

Additional Context

Affected Pages:

| Page | Context |
|------|---------|
| https://code.claude.com/docs/en/plugins-reference | Primary command reference still shows user as the default scope for plugin enable and plugin disable |
| https://code.claude.com/docs/en/discover-plugins | Direct /plugin enable and /plugin disable examples omit the omitted---scope behavior |
| https://code.claude.com/docs/en/plugin-marketplaces | Seed plugin guidance tells users to use /plugin disable and separately documents runtime path resolution / seed-copy precedence |

Total scope: 3 pages affected

Source: Changelog v2.1.85

Exact changelog entry:

Fixed /plugin enable and /plugin disable failing when a plugin's install location differs from where it's declared in settings

View original on GitHub ↗

This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗