Plugin install command doesn't update project-level settings.json with enabledPlugins

Resolved 💬 3 comments Opened Dec 27, 2025 by tettuan Closed Dec 31, 2025

Description

When running /plugin install <plugin-name> for a project-scoped plugin, the command:

  1. Reports "already installed" or installs the plugin
  2. Shows "(installed)" badge in the Discover tab
  3. But "Installed" tab shows "No plugins installed"

The plugin doesn't work until manually configured.

Root Cause

The /plugin install command doesn't properly create/update both required files:

  1. ~/.claude/plugins/installed_plugins.json - May be updated, but projectPath may be missing or incorrect
  2. <project>/.claude/settings.json - NOT updated with enabledPlugins

Steps to Reproduce

  1. Set up a local marketplace with a plugin
  2. Run /plugin marketplace add <path-to-marketplace>
  3. Run /plugin install <plugin-name>
  4. Check "Installed" tab - shows "No plugins installed"
  5. Check "Discover" tab - shows "(installed)" badge

Expected Behavior

After /plugin install, both files should be updated:

~/.claude/plugins/installed_plugins.json:

{
  "plugins": {
    "plugin-name@marketplace": [
      {
        "scope": "project",
        "projectPath": "/path/to/project",
        "isLocal": true,
        ...
      }
    ]
  }
}

<project>/.claude/settings.json:

{
  "enabledPlugins": {
    "plugin-name@marketplace": true
  }
}

Workaround

Manually create/update both files as shown above.

Related Issues

  • #14202 - Project-scoped plugins incorrectly detected as installed globally
  • #12457 - Local marketplace installs fail to persist to installed_plugins.json

Environment

  • Claude Code CLI
  • macOS
  • Local marketplace with project-scoped plugins

View original on GitHub ↗

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