[BUG] Plugin UI reports wrong scope, causing "Update now" to fail with scope mismatch error

Resolved 💬 3 comments Opened Feb 21, 2026 by karlprasher012 Closed Apr 10, 2026

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

  1. Install a plugin at user scope from a marketplace (e.g. agentic-compound-engineering from kb-marketplace)
  2. Open /plugin → Installed tab
  3. Select the plugin — UI displays "Scope: project"
  4. 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_

View original on GitHub ↗

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