Plugin update check doesn't fetch latest from marketplace git repo
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
- Register a GitHub-sourced marketplace (
known_marketplaces.jsonentry with"source": "github") - Install a plugin from it (e.g., version
1.0.0) - Push a new commit to the marketplace repo that bumps the plugin version (e.g., to
1.1.0) - Run
/pluginto check for updates - Result: Returns
(no content)— no update detected - Expected: Should detect version
1.1.0is 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(version1.0.0, commit3798f4d) - New commit pushed to remote:
394681e(bumps version to1.1.0) /pluginupdate check: returns nothing- Manual
git pullin 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")
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗