[BUG] Desktop app: git-backed marketplace stuck on old 'Synced commit' — 'Failed to update marketplace', Update greyed; CLI sync-cache fix didn't reach desktop
Summary
In the Claude desktop app, a git-backed plugin marketplace gets stuck on an old "Synced commit" and never advances. Clicking Check for updates shows the toast "Failed to update marketplace." The installed plugin's Update button stays greyed (the cached catalog version equals the installed version, so the app believes it's current). The only thing that recovers it is removing and re-adding the marketplace, and the failure recurs on every new release.
This is the desktop equivalent of a set of CLI issues that were closed as fixed — the fix evidently did not reach the desktop "remote marketplace" sync path:
- #46081 — uses stale marketplace cache, reports 'already at latest version' when new commits exist
- #36317 — plugin update doesn't refresh marketplace clone
- #35752 — never pulls marketplace clone, always reports 'already at latest'
- #37252 — does not refresh marketplace clone before version check
- #43732 — doesn't fetch from remote, reports stale version as latest
- #45834 — does not correctly update version metadata
(Distinct from the open #66750, which is about never-launched users / official-marketplace auto-seed.)
Environment
- Claude desktop app build 1.15962.1
- macOS (Darwin 25.2.0)
- Marketplace registered under Personal → Local uploads, with "Sync automatically" ON
- App has migrated to remote marketplaces (
remote_marketplace_migration_done_v1is set in the app config)
Steps to reproduce
- In the desktop app, add a git-backed marketplace (a public GitHub repo with
.claude-plugin/marketplace.jsonat the repo root) and install its plugin. - Push new commits/releases to that repo that bump the plugin
version(inplugin.jsonand the marketplace entry). - Open the marketplace's ··· menu. It shows Synced commit:
<old sha>, Sync automatically (on), Check for updates, Remove. - Click Check for updates → toast "Failed to update marketplace." The synced commit does not advance; the plugin's Update button stays greyed.
- Remove the marketplace and re-add it from the same source → it syncs to the latest commit and the new plugin version appears.
- On the next release, the marketplace freezes again at the just-synced commit, and step 4 repeats.
Concrete observed case
- Marketplace "PRISM", public repo
Ronkupper/PRISM. - The ··· menu showed Synced commit:
8a622a0(plugin version 2.14.0, ~8 days old) while the repo'smainwas at a commit publishing plugin version 2.20.1. 8a622a0is a clean ancestor of currentHEAD(17 commits behind, a trivial fast-forward — no force-push, no history rewrite, repo is ~8 MB,marketplace.jsonvalid on the default branch). The pinned commit is fully reachable; the client simply never advances the pin.- The card's displayed Version and "Last updated" exactly mirror the stuck synced commit.
Expected
Check for updates (and "Sync automatically") should git fetch the marketplace source and fast-forward to the latest commit — the same thing a fresh remove + re-add does — then surface the newer plugin version for update.
Actual
The refresh fails ("Failed to update marketplace"), the synced commit stays frozen, and the Update button stays greyed. Remove + re-add is the only workaround, and it must be repeated on every release.
Impact
For any custom/git-backed marketplace, end users must remove and re-add the marketplace on every plugin release to receive updates. Automatic updates are effectively broken on the desktop app for these marketplaces — even though the CLI variants of this bug are marked fixed.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗