[BUG] Plugin UI reports wrong scope, causing "Update now" to fail with scope mismatch error
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
❯ "the scope/update bug sounds like a plugin manager issue worth filing." - bug with what?
⏺ Claude Code itself — the /plugin UI is misreporting the scope (shows "project" when installed_plugins.json says user), and the updater fails because it queries the wrong scope. All
of that is Claude Code's plugin infrastructure, not anything in your plugin's code.
What Should Happen?
Environment:
- Claude Code version: 2.1.50
- OS: macOS 25.3.0 (Darwin)
- Plugin: agentic-compound-engineering from kb-marketplace
---
Description
The plugin UI displays an incorrect scope for an installed plugin, and "Update now" fails with a misleading error because the updater uses the UI-reported scope rather than the
actual registered scope.
Steps to Reproduce
- Install a plugin at user scope from a marketplace (e.g. agentic-compound-engineering from kb-marketplace)
- Open /plugin → Installed tab
- Select the plugin — UI displays "Scope: project"
- Select "Update now"
Expected behavior
- UI displays the correct scope (user)
- Update succeeds, or fails with an accurate error
Actual behavior
- UI displays "Scope: project" — incorrect; installed_plugins.json records "scope": "user" with no projectPath
- Update fails with:
Failed to update: Plugin "agentic-compound-engineering" is not installed at scope project
- The updater appears to query by the scope shown in the UI ("project") rather than the scope stored in the registry ("user"), so it finds no matching installation and aborts.
Relevant registry entry (~/.claude/plugins/installed_plugins.json):
"agentic-compound-engineering@kb-marketplace": [
{
"scope": "user",
"installPath": "/Users/.../.claude/plugins/cache/kb-marketplace/agentic-compound-engineering/2.1.0",
"version": "2.1.0",
"installedAt": "2026-02-16T11:38:38.467Z",
"lastUpdated": "2026-02-16T11:38:38.467Z",
"gitCommitSha": "d3823a380a3b9cf03c19d0044fc61744e62fc9de"
}
]
No projectPath field — confirms this is a user-scoped install, not project-scoped.
Root cause hypothesis
The plugin UI reads scope from a different source than installed_plugins.json (or misinterprets the absence of projectPath), and the updater then uses the UI-displayed scope to look
up the installation, creating a mismatch that makes user-scoped plugins unupdatable via the UI.
Workaround
None via UI. Changes must be applied manually by copying files into the cache directory at the installPath recorded in installed_plugins.json.
Claude Model
None
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
2.1.50
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
_No response_
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗