Plugin update reports 'already at latest version' when marketplace clone is stale

Resolved 💬 3 comments Opened Mar 19, 2026 by miospotdevteam Closed Mar 23, 2026

Description

When running /plugin to update a plugin installed from a custom marketplace (non-official), the updater reports "already at the latest version" even when the remote repository has newer commits. The local marketplace clone at ~/.claude/plugins/marketplaces/<marketplace-name>/ is not being fetched before the version comparison.

Steps to reproduce

  1. Install a plugin from a custom marketplace: claude plugin install look-before-you-leap@claude-code-setup
  2. Make changes to the plugin source repo and push to the remote
  3. Run /plugin in Claude Code
  4. See: look-before-you-leap is already at the latest version (0ad0f748a50d).

Root cause

The marketplace clone at ~/.claude/plugins/marketplaces/<name>/ retains a stale HEAD. The plugin updater compares the installed version against this stale local clone rather than fetching from the remote first. The lastUpdated timestamp in known_marketplaces.json advances, but the clone's branch doesn't move forward.

Verified by manually inspecting:

# Marketplace clone — stale
~/.claude/plugins/marketplaces/claude-code-setup/ → HEAD at 0ad0f74

# Actual remote (same repo) — 4 commits ahead
origin/main → HEAD at 5d5f046

After manually running git fetch origin && git reset --hard origin/main inside the marketplace clone, /plugin correctly detected the new version.

Expected behavior

/plugin should git fetch the marketplace clone before comparing versions, so that newly pushed commits are detected.

Workaround

cd ~/.claude/plugins/marketplaces/<marketplace-name> && git fetch origin && git reset --hard origin/main

Then run /plugin to update.

Environment

  • Claude Code (VS Code extension)
  • macOS
  • Plugin installed from custom GitHub-backed marketplace

View original on GitHub ↗

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