Plugin install refuses project-scope install if same plugin is installed in a different project

Resolved 💬 3 comments Opened Feb 20, 2026 by nathanbeckmann Closed Feb 20, 2026

Bug Description

Installing a plugin at project scope in one repository prevents installing the same plugin at project scope in any other repository. The install command checks the global ~/.claude/plugins/installed_plugins.json and reports "already installed" without considering whether the current project has the plugin enabled.

Steps to Reproduce

  1. In repo A, install a plugin at project scope:

``
/plugin install commit-commands
# Select "project" scope → works fine
`
This creates
repo-A/.claude/settings.json with enabledPlugins and adds an entry to ~/.claude/plugins/installed_plugins.json`.

  1. cd to repo B (a different repository).
  1. Try to install the same plugin at project scope:

``
/plugin install commit-commands
``

  1. Result: Plugin 'commit-commands@claude-plugins-official' is already installed. Use '/plugin' to manage existing plugins.
  1. Expected: The install should proceed and create repo-B/.claude/settings.json with the enabledPlugins entry.

Additional Details

  • The plugin also does not appear in the Discover tab for the second repo (it's filtered out as "installed").
  • It appears in the Installed tab even though it's not functional in the current project.
  • The global installed_plugins.json stores the projectPath of the original install, but the install command doesn't compare it to the current working directory.
  • Workaround: Manually create .claude/settings.json in the second repo:

``json
{
"enabledPlugins": {
"commit-commands@claude-plugins-official": true
}
}
``

Environment

  • Claude Code CLI
  • Linux

View original on GitHub ↗

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