Plugin update doesn't pull marketplace repo — shallow clone stays stale

Resolved 💬 3 comments Opened Mar 28, 2026 by JeremyDev87 Closed Apr 1, 2026

Bug Description

/plugin update reports "already at the latest version" even when a newer version has been published and pushed to the marketplace repository.

Root Cause

When Claude Code installs a third-party marketplace plugin, it creates a shallow clone (--depth 1) of the marketplace repo at ~/.claude/plugins/marketplaces/<marketplace>/. On subsequent /plugin update calls, it reads .claude-plugin/marketplace.json from that local clone to determine the "latest" version — but never runs git pull (or git fetch + git merge) to update the clone first.

Evidence from the stale clone:

$ cd ~/.claude/plugins/marketplaces/jeremydev87
$ git rev-parse --is-shallow-repository
true

$ git reflog -5
c6277a0 HEAD@{0}: clone: from https://github.com/JeremyDev87/codingbuddy.git
# ↑ Only one entry — no pull/fetch ever happened

$ git rev-list HEAD..origin/master --count
79
# ↑ 79 commits behind remote after manual fetch

The known_marketplaces.json lastUpdated timestamp gets refreshed, but no actual git operations occur on the clone.

Steps to Reproduce

  1. Install a third-party marketplace plugin (e.g., codingbuddy from JeremyDev87/codingbuddy)
  2. The plugin author publishes a new version (bumps marketplace.json version, pushes to GitHub)
  3. Run /plugin update in Claude Code
  4. Observe: "codingbuddy is already at the latest version (X.X.X)" — reports the OLD version

Expected Behavior

/plugin update should git fetch + update the local marketplace clone before comparing versions, so newly published versions are detected.

Workaround

Manually update the marketplace clone:

cd ~/.claude/plugins/marketplaces/<marketplace-name>
git fetch --unshallow origin   # if shallow
git reset --hard origin/master

Then restart Claude Code and run /plugin update.

Environment

  • Claude Code CLI (latest)
  • macOS Darwin 24.6.0
  • Plugin: codingbuddy@jeremydev87 (5.0.0 installed, 5.1.0 available)

View original on GitHub ↗

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