Bug: `/plugin enable` fails for user-scope installed plugins

Resolved 💬 2 comments Opened Mar 24, 2026 by Hviper Closed Apr 22, 2026

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

  1. Install a plugin with user scope:

``bash
/plugin install skill-creator@claude-plugins-official --scope user
``

  1. 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": "..."
}
]
}
}
``

  1. Try to enable the plugin:

``bash
/plugin enable skill-creator@claude-plugins-official
``

  1. Error: Plugin "skill-creator@claude-plugins-official" is not installed in this project
  1. Try in home directory (outside any project):

``bash
cd ~
claude
/plugin enable skill-creator@claude-plugins-official
``

  1. Same error: Plugin "skill-creator@claude-plugins-official" is not installed in this project

Expected Behavior

The /plugin enable command should:

  1. Check both project-scope AND user-scope installations
  2. If found in user scope, add it to ~/.claude/settings.json under enabledPlugins
  3. 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

  1. Check installed_plugins.json for BOTH scopes
  2. When plugin found in user scope, update ~/.claude/settings.json
  3. When plugin found in project scope, update project's settings.local.json
  4. Improve error message to specify which scope was checked
  5. Add --scope parameter to /plugin enable for 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.

View original on GitHub ↗

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