Plugin install blocks re-installation for different project scope
Resolved 💬 3 comments Opened Mar 3, 2026 by fil512 Closed Mar 6, 2026
Bug Description
When a plugin is installed with scope: "project" for one project, attempting to install the same plugin in a different project fails with:
Plugin 'smile-dev-tools@smile-marketplace' is already installed. Use '/plugin' to manage existing plugins.
The install command checks whether the plugin name exists in installed_plugins.json but does not consider that the existing entry is scoped to a different projectPath.
Steps to Reproduce
- In project A, run
/plugin install smile-dev-tools@smile-marketplace— installs successfully withscope: "project"andprojectPathset to project A - Open a different project B
- Run
/plugin install smile-dev-tools@smile-marketplace - Get error:
Plugin 'smile-dev-tools@smile-marketplace' is already installed.
Expected Behavior
The install command should either:
- Allow installing a second project-scoped entry for the new project (the array structure in
installed_plugins.jsonalready supports multiple entries per plugin), or - Inform the user the plugin is installed for a different project and offer to install it for the current project as well
Actual Behavior
Installation is blocked entirely. The plugin's commands/skills are not available in the second project.
Workaround
Manually edit ~/.claude/plugins/installed_plugins.json to either:
- Change
"scope": "project"to"scope": "user"and removeprojectPath - Add a second entry in the plugin's array with the new project path
Environment
- Claude Code CLI
- macOS (Darwin 25.3.0)
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗