Plugin install blocked by existing installation at different scope

Resolved 💬 3 comments Opened Mar 9, 2026 by wphillipmoore Closed Mar 13, 2026

Summary

When a plugin is installed at project scope, attempting to also install it at user scope fails with "Plugin is already installed." This prevents users from having a plugin available globally after it was first installed for a single project.

Reproduction

  1. Add a custom marketplace:

``
/plugin marketplace add owner/repo
``

  1. Install a plugin at project scope (either via the interactive UI or --scope project):

``
/plugin install my-plugin@my-marketplace
``

  1. Attempt to install the same plugin at user scope:

``
/plugin install my-plugin@my-marketplace
``

  1. Result: Plugin 'my-plugin@my-marketplace' is already installed. Use '/plugin' to manage existing plugins.

There is no --scope flag available in the interactive /plugin install command to override this, and the interactive Discover tab also does not offer to install at a different scope if the plugin is already present at any scope.

Expected Behavior

Either:

  • Option A: Allow installing the same plugin at multiple scopes (project + user), since these serve different purposes (team config vs personal global access)
  • Option B: Prompt the user to change the scope of the existing installation rather than silently blocking

Impact

This is particularly problematic for plugin authors who develop a plugin in their plugin repo (where it gets installed at project scope) but also want it available globally. The only workaround is to manually edit ~/.claude/plugins/installed_plugins.json.

Environment

  • Claude Code CLI (latest)
  • macOS

View original on GitHub ↗

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