claude plugin update uses stale marketplace cache — reports 'already at latest version' when new commits exist
Summary
claude plugin update <plugin>@<marketplace> reports "already at latest version" even when new commits have been pushed to the marketplace repository. The update checker compares against a stale local git clone rather than fetching fresh from remote.
Steps to Reproduce
- Register a marketplace and install a plugin:
``bash``
claude plugin marketplace add Novaworks-ai/nova-claude-plugins
claude plugin install nova-dev-playbook@nova-plugins
- New commits are pushed to the marketplace repo (GitHub remote HEAD advances)
- Run update:
``bash``
claude plugin update nova-dev-playbook@nova-plugins
- Output:
✔ nova-dev-playbook is already at the latest version (ab7b40fdd4f2) - The installed SHA
ab7b40fdd4f2is stale — the repo HEAD is now at a newer commit
Root Cause
Claude Code caches a git clone of the marketplace at:
~/.claude/plugins/marketplaces/<marketplace-name>/
The claude plugin update command compares the installed commit SHA (from ~/.claude/plugins/installed_plugins.json) against the cached clone's HEAD — but does not do a git fetch before comparing. So if the cache is stale, it always reports "already at latest version" even though remote has new commits.
Additional Issue
claude plugin update --all is not implemented:
error: unknown option '--all'
This flag is referenced in third-party plugin marketplace documentation as the way to batch-update all installed plugins. If it is intentionally not supported, that should be clearly documented.
Expected Behavior
claude plugin updateshouldgit fetchthe marketplace remote before comparing SHAs- OR: document a supported way to force-refresh the marketplace cache
--allflag should either be implemented or the error message should suggest the correct alternative
Workaround
Manually delete the stale cache to force a fresh clone on next update:
rm -rf ~/.claude/plugins/marketplaces/<marketplace-name>
claude plugin update <plugin>@<marketplace>
This is not viable at org scale — engineers shouldn't need to manually clear caches for a basic update command to work.
Environment
- Claude Code CLI (latest)
- Platform: Linux (Ubuntu 24.04)
- Marketplace: GitHub-hosted (
Novaworks-ai/nova-claude-plugins)
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗