claude plugin update uses stale marketplace cache — reports 'already at latest version' when new commits exist

Resolved 💬 3 comments Opened Apr 10, 2026 by Deekshith71 Closed Apr 13, 2026

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

  1. 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
``

  1. New commits are pushed to the marketplace repo (GitHub remote HEAD advances)
  2. Run update:

``bash
claude plugin update nova-dev-playbook@nova-plugins
``

  1. Output: ✔ nova-dev-playbook is already at the latest version (ab7b40fdd4f2)
  2. The installed SHA ab7b40fdd4f2 is 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 update should git fetch the marketplace remote before comparing SHAs
  • OR: document a supported way to force-refresh the marketplace cache
  • --all flag 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)

View original on GitHub ↗

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