Summary
claude plugin update reports a plugin is at "the latest version" when it isn't, because it doesn't git pull the local marketplace clone before comparing versions.
Steps to Reproduce
- Install a marketplace plugin:
claude plugin marketplace add EveryInc/compound-engineering-plugin
- Wait for the plugin repo to release newer versions
- Run:
claude plugin update compound-engineering@compound-engineering-plugin
- Output:
Checking for updates for plugin "compound-engineering@compound-engineering-plugin" at user scope…
✔ compound-engineering is already at the latest version (2.38.1).
Expected Behavior
Should detect v2.45.0 (the current version on main) and offer to update.
Root Cause
The marketplace clone at ~/.claude/plugins/marketplaces/compound-engineering-plugin/ is stale — its git HEAD is at an old commit (v2.34.4) and plugin.json shows 2.38.1. The upstream repo's main branch has plugin.json with version 2.45.0.
# Local marketplace clone HEAD:
$ cd ~/.claude/plugins/marketplaces/compound-engineering-plugin && git log --oneline -1
ca57c67 chore(release): 2.34.4 [skip ci]
# Remote main has moved far ahead:
$ git fetch origin main --dry-run
ca57c67..0407c13 main -> origin/main
claude plugin update appears to compare the installed version against the stale local clone rather than fetching the latest from origin first.
Workaround
Manually pull the marketplace clone:
cd ~/.claude/plugins/marketplaces/compound-engineering-plugin
git pull origin main
Then claude plugin update should detect the newer version.
Environment
- Claude Code CLI (latest)
- macOS
- Plugin:
compound-engineering@compound-engineering-plugin (EveryInc/compound-engineering-plugin)
Summary
claude plugin updatereports a plugin is at "the latest version" when it isn't, because it doesn'tgit pullthe local marketplace clone before comparing versions.Steps to Reproduce
Expected Behavior
Should detect v2.45.0 (the current version on
main) and offer to update.Root Cause
The marketplace clone at
~/.claude/plugins/marketplaces/compound-engineering-plugin/is stale — its git HEAD is at an old commit (v2.34.4) andplugin.jsonshows2.38.1. The upstream repo'smainbranch hasplugin.jsonwith version2.45.0.claude plugin updateappears to compare the installed version against the stale local clone rather than fetching the latest from origin first.Workaround
Manually pull the marketplace clone:
Then
claude plugin updateshould detect the newer version.Environment
compound-engineering@compound-engineering-plugin(EveryInc/compound-engineering-plugin)