Skip to content

Plugin installed at project scope cannot be reinstalled at user scope #29996

Description

@csy1204

Description

When a plugin is installed from the marketplace at project scope, it becomes impossible to reinstall or promote it to user scope through normal UI/CLI flows. The marketplace treats it as "already installed" based on the cache, but the registration only grants access to the original project.

Steps to Reproduce

  1. Install a plugin (e.g., plugin-dev) from the marketplace with project scope in Project A
  2. Open a different project (Project B)
  3. Try to use the plugin — it's not available
  4. Try to install the same plugin again — marketplace says it's already installed

Expected Behavior

Either:

  • The marketplace should allow reinstalling at a different scope (user scope)
  • There should be a claude plugin promote or claude plugin scope command to change scope
  • The marketplace install flow should offer "Also install for all projects?" option

Actual Behavior

The plugin files exist in ~/.claude/plugins/cache/ (shared), but installed_plugins.json only has a project-scoped entry:

"plugin-dev@claude-plugins-official": [
  {
    "scope": "project",
    "projectPath": "/Users/user/work/project-a",
    "installPath": "~/.claude/plugins/cache/claude-plugins-official/plugin-dev/55b58ec6e564",
    "version": "55b58ec6e564"
  }
]

The only workaround is manually editing installed_plugins.json to add a "scope": "user" entry and enabling it in settings.json under enabledPlugins.

Root Cause

The "already installed" check appears to be based on cache existence, while actual availability is based on registry scope. These two concepts are conflated, creating a gap where a plugin can be "installed" but not "available".

Environment

  • Claude Code on macOS
  • Plugin system v2 (installed_plugins.json version 2)

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:pluginsbugSomething isn't workinghas reproHas detailed reproduction stepsplatform:macosIssue specifically occurs on macOS

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions