[Enhancement] Allow changing plugin scope (Project/Local/User) from the TUI

Resolved 💬 4 comments Opened Apr 7, 2026 by jse7016 Closed May 18, 2026

Summary

Currently, once a plugin is installed, its scope (Project / Local / User) cannot be changed from the TUI. The only workaround is to manually edit the settings JSON files.

This is a feature request for scope management, distinct from the install-time scope bugs tracked in #29240 and #29997 (both now closed/stale).

Desired Behavior

Add the ability to change a plugin's scope directly from the Plugins > Installed screen — for example, via a context menu or action when selecting an installed plugin:

Installed Plugins
  ┌─────────────────────────────────┐
  │ plugin-name        [Project]    │
  │                                 │
  │  > Change scope to User         │
  │  > Change scope to Local        │
  │  > Uninstall                    │
  └─────────────────────────────────┘

Alternatively, a CLI command like:

claude plugin scope <plugin-name> --scope user

Current Workaround

Manually move the plugin entry between:

  • ~/.claude/settings.json (User)
  • <project>/.claude/settings.local.json (Local)
  • <project>/.claude/settings.json (Project)

This requires knowing the internal file structure, which is not beginner-friendly and error-prone.

Why This Matters

  • It's very easy to install a plugin at the wrong scope (especially for new users)
  • There is no way to fix this from the TUI — you must manually edit JSON files
  • The data model already supports multiple scope entries per plugin (installed_plugins.json uses arrays), so the backend should be able to support this

Related Issues

  • #29240 — Project-scoped plugins show as "Installed" in other projects (closed/stale)
  • #29997 — Cannot reinstall at different scope (closed as duplicate of #29240)

Those issues focus on the install-time bug. This request is about post-install scope management as a first-class TUI feature.

View original on GitHub ↗

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