Plugin update check doesn't fetch latest from marketplace git repo

Resolved 💬 3 comments Opened Feb 25, 2026 by simon-lowe Closed Mar 1, 2026

Bug Description

When running /plugin to check for updates to an installed plugin from a GitHub-sourced marketplace, the command returns no results even when a newer version is available on the remote. The marketplace cache (~/.claude/plugins/marketplaces/<name>/) is not git pulled before comparing versions, so it compares stale cached data against the installed version.

Steps to Reproduce

  1. Register a GitHub-sourced marketplace (known_marketplaces.json entry with "source": "github")
  2. Install a plugin from it (e.g., version 1.0.0)
  3. Push a new commit to the marketplace repo that bumps the plugin version (e.g., to 1.1.0)
  4. Run /plugin to check for updates
  5. Result: Returns (no content) — no update detected
  6. Expected: Should detect version 1.1.0 is available and offer to update

Root Cause

The marketplace git clone at ~/.claude/plugins/marketplaces/<name>/ is not fetched/pulled during the update check. The lastUpdated field in known_marketplaces.json appears to control cache freshness, but the TTL seems too aggressive — it doesn't re-fetch even when there are known remote changes.

In my case:

  • Marketplace registered: 2026-02-25T01:29:39Z
  • Plugin installed: 2026-02-25T01:30:44Z (version 1.0.0, commit 3798f4d)
  • New commit pushed to remote: 394681e (bumps version to 1.1.0)
  • /plugin update check: returns nothing
  • Manual git pull in the marketplace cache dir, then /plugin: works correctly

Workaround

Manually pull the marketplace cache before running /plugin:

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

Environment

  • Claude Code CLI
  • Linux (WSL2)
  • Marketplace source: GitHub repo ("source": "github")

View original on GitHub ↗

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