Bug: `/plugin enable` fails for user-scope installed plugins
Bug: /plugin enable fails for user-scope installed plugins
Description
The /plugin enable command fails to recognize plugins installed with --scope user, reporting "not installed in this project" even though the plugin is correctly installed in the user scope and exists in the cache.
Steps to Reproduce
- Install a plugin with user scope:
``bash``
/plugin install skill-creator@claude-plugins-official --scope user
- Verify installation in
~/.claude/plugins/installed_plugins.json:
``json``
{
"plugins": {
"skill-creator@claude-plugins-official": [
{
"scope": "user",
"installPath": "/Users/{user}/.claude/plugins/cache/claude-plugins-official/skill-creator/...",
"version": "...",
"installedAt": "..."
}
]
}
}
- Try to enable the plugin:
``bash``
/plugin enable skill-creator@claude-plugins-official
- Error:
Plugin "skill-creator@claude-plugins-official" is not installed in this project
- Try in home directory (outside any project):
``bash``
cd ~
claude
/plugin enable skill-creator@claude-plugins-official
- Same error:
Plugin "skill-creator@claude-plugins-official" is not installed in this project
Expected Behavior
The /plugin enable command should:
- Check both project-scope AND user-scope installations
- If found in user scope, add it to
~/.claude/settings.jsonunderenabledPlugins - Report success:
✓ Plugin "skill-creator@claude-plugins-official" enabled
Actual Behavior
- Command only checks project-scope installations
- Ignores user-scope installations in
installed_plugins.json - Fails in both project directory and home directory
- Misleading error message
Workaround
Manually edit ~/.claude/settings.json:
{
"enabledPlugins": {
"skill-creator@claude-plugins-official": true
}
}
Then run /reload-plugins or restart Claude Code.
Environment
- Claude Code version: Latest (as of 2026-03-24)
- OS: macOS (darwin)
- Shell: zsh
- Node.js: v24.3.0
Evidence
installed_plugins.json shows user-scope installation:
skill-creator@claude-plugins-official (user)
Plugin cache exists:
~/.claude/plugins/cache/claude-plugins-official/skill-creator/15268f03d2f5/
After manual enable + reload:
/reload-plugins
→ Reloaded: 4 plugins · 5 skills · 6 agents
The plugin works perfectly after manual enable, proving the installation is valid.
Root Cause Analysis
The /plugin enable command likely has this logic:
# Current behavior (buggy)
def enable_plugin(plugin_name):
if plugin_name in project_scope_plugins:
enable(plugin_name)
else:
error("not installed in this project")
Should be:
# Expected behavior
def enable_plugin(plugin_name):
if plugin_name in project_scope_plugins:
enable_in_project(plugin_name)
elif plugin_name in user_scope_plugins:
enable_in_user_settings(plugin_name)
else:
error("plugin not installed in any scope")
Impact
- Severity: Medium
- User Experience: Confusing for users who install plugins with
--scope user - Documentation Gap: No mention of scope-specific enable behavior
- Reliability: Requires manual config editing to enable user-scope plugins
Suggested Fix
- Check
installed_plugins.jsonfor BOTH scopes - When plugin found in user scope, update
~/.claude/settings.json - When plugin found in project scope, update project's
settings.local.json - Improve error message to specify which scope was checked
- Add
--scopeparameter to/plugin enablefor explicit control
Related Issues
This might be related to:
- Plugin lifecycle management
- Scope-awareness in commands
- Settings.json auto-update logic
---
Workaround for users: Manually add your user-scope plugins to enabledPlugins in ~/.claude/settings.json, then run /reload-plugins.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗