claude plugin update does not resolve newly-declared plugin dependencies (install does)
What happens
When a plugin's manifest gains a dependencies entry in a newer version, claude plugin update upgrades the plugin but does not resolve the newly-declared dependency. The plugin then fails to load.
claude plugin install re-run over the same broken install does resolve it, so the capability exists — it just isn't reached from the update path.
Reproduction
- Publish a marketplace where plugin
Av1 declares no dependencies, and pluginBalso exists in the catalog. claude plugin install A@my-marketplace— installs cleanly.- Publish v2 of
Awhose manifest declaresdependencies: ["B"]. claude plugin marketplace update my-marketplaceclaude plugin update A@my-marketplace -y
Result:
✔ Plugin "A" updated from 1.0.0 to 2.0.0 for scope user.
then:
❯ A@my-marketplace
Status: ✘ failed to load
Error: Dependency "B@my-marketplace" is not installed — run
`claude plugin install B@my-marketplace`, or check that its marketplace is added
The asymmetry
claude plugin install A@my-marketplace over the already-broken install resolves it:
✔ Plugin "A@my-marketplace" is already installed (scope: user) (+ 1 dependency: B)
A fresh install of v2 also resolves correctly (+ 1 dependency: B). Only the update path misses it.
Expected
claude plugin update resolves dependencies the same way install does — or, failing that, the docs state that adding a dependency requires users to re-run install.
claude plugin update --help exposes only --scope and --yes; there's no repair/resolve subcommand under claude plugin --help. The plugin-dependencies documentation describes install-time resolution and doesn't mention the update path.
Environment
Claude Code CLI 2.1.231, macOS. Measured on two marketplace source types — a local directory source and a git source served over smart HTTP — with identical behaviour on both.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗