Marketplace update button is disabled/not pressable even when version is outdated

Status Open
Maintainer reply None cached
Activity 16 comments · opened Apr 9, 2026

Description

The Update button in the plugin marketplace UI is unresponsive even when an update is available. The button appears in the customize menu but cannot be clicked — it is greyed out and non-interactive regardless of the version state.

Steps to Reproduce

  1. Add a git-based marketplace (e.g. https://github.com/DojoGenesis/plugins.git)
  2. Push new commits to the remote repository so a newer version is available
  3. Open Claude Code → plugin customize menu → find the marketplace
  4. Observe that the version shown is outdated but the Update button is disabled/not pressable

Expected Behavior

The Update button is clickable and triggers a fresh git pull to bring the local clone up to date with the remote.

Actual Behavior

The Update button is present but disabled — it cannot be pressed regardless of version state, even when the local clone is behind the remote.

Additional Context

This is one of several related marketplace lifecycle bugs that suggest the marketplace state manager has broad lifecycle issues around create/update/delete operations:

  • The marketplace cannot be deleted from the customize menu (issue #45649)
  • Marketplace git clones are created empty (issue #45653)
  • This issue: the Update button is always disabled

All three point to the same underlying area of the marketplace lifecycle management code.

View original on GitHub ↗

15 Comments

pbuda · 3 months ago

A workaround could be to tell claude to pull the latest version if it's a github marketplace, then uninstall the plugin and install again - now it should point to the new version

mikebronner · 3 months ago

Some evidence from digging into this on macOS Desktop, plus a workaround that actually moved it. The desktop app's mechanism looks different from the local-git-clone model in the OP — which is probably why the "pull + uninstall/reinstall" workaround is unreliable.

What worked

  1. Terminal: claude plugin marketplace update <marketplace-name> (brings the CLI's own clone current — in my case it was already at the latest pin)
  2. Fully quit the desktop app (Cmd-Q), not just close the window
  3. Relaunch

After relaunch, the affected plugin moved from the stale version to the latest, and in …/local-agent-mode-sessions/<id>/rpm/manifest.json the updatedAt for that marketplace's plugins advanced from the original install date to "now". Note: the in-app "Update" button / "update marketplace" action never did anything — only the full relaunch worked.

Why it looks like a server-side re-ingestion bug, not a git-state issue

On Desktop (local-agent mode), plugin availability isn't resolved from a local git clone at all:

  • ~/Library/Application Support/Claude/config.json has remote_marketplace_migration_done_v1: true, and …/local-agent-mode-sessions/<id>/cowork_plugins/marketplaces/ is empty — there's no local clone to git pull.
  • Plugins are resolved server-side, keyed by an opaque marketplaceId, recorded in …/rpm/manifest.json. That manifest stores no version, sha, or URL — only marketplaceId, updatedAt, and installationPreference.

The freeze appears to be per-marketplace, at ingest time — not per-plugin or git-state:

  • My third-party marketplace's 3 plugins were all stamped updatedAt: 2026-04-21 (their original install date), with installationPreference: "available".
  • Anthropic's own marketplace (10 plugins, a different marketplaceId) in the same manifest was stamped updatedAt: 2026-05-29.
  • A plain app-session manifest rewrite is not sufficient: earlier the same day, manifest.json's top-level lastUpdated advanced while the third-party cohort's per-plugin updatedAt values stayed frozen at the install date. Only a full relaunch (after the CLI pull) actually re-ingested the marketplace and refreshed those timestamps.

So the resolver clearly can re-ingest a marketplace on launch (the first-party one refreshed) — it just wasn't doing so for the third-party one until forced. And the CLI and Desktop keep entirely separate state, so forcing the CLI clone current doesn't move the Desktop "Update" button.

Net: this looks like a server-side per-marketplace ingest that doesn't re-run for third-party marketplaces post-install, rather than (or in addition to) the disabled git-pull button described above. Possibly related to #45653, given the empty cowork_plugins/marketplaces/.

antmcc-hub · 3 months ago

I am observing this issue on a Max Plan, Interested to see if it occurs on all plans.
I am unclear if it works successfully for Teams and Enterprise Plan users as likely intended, and simply not on the Pro or Max plans.
For context I am a solopreneur with >50 skills, and building more, and need to be able manage them efficiently as needs change.
EDIT: I am a Cowork user trying to sell Cowork to white collar / professional clients as a CPN partner. The hard limit of 50 skills drives the need for plugins, and consulting distribution of skills/plugins needs this update functionality to work in Cowork, not just Code.

jamesbrackmusic-cell · 2 months ago

x2 ^^ same issue here. I have a plugin and tweak the skills A LOT during dev...this is super frustrating. If I create a new Git Repo for each new version of the plug, then I can reinstall in Claude desktop under the new URL/repo. Annoying workaround considering there is a damn button for update already implemented in Claude desktop -_____-

WickedMark · 2 months ago

Still reproduces on v2.1.146. Update button stays greyed out in the customize menu and the local clone never catches up to the remote, with no in-product way to pull. Only workaround is a manual git pull in the clone directory, which defeats the point of a managed marketplace.

(One process note: this is labelled duplicate but no canonical issue is linked. #45649, #45653 and this one all point at the same marketplace lifecycle state manager. Worth either consolidating them under one tracking issue or removing the duplicate tag so this doesn't fall through the gap.)

lefos13 · 2 months ago

I had the same issue. I had to manual pull at the cloned repo so I can see the button enabled. Claude Code says it would eventually do the pull itself but it doesn't do it instantly if a repo updates its default branch. The question here is what is the point of comparing the cached version of a plugin with the one that is cloned inside the Claude app data anyway? When a new version is rolled out it is supposed to be available asap to the consumers. This is certainly a bug that needs to be solved.

vinnyp · 2 months ago

Confirming this on Claude Desktop 1.12603.1 (3df4fd) · 2026-06-11T16:57:36Z · darwin — the Update button stays disabled after a plugin version bump (in addition to the git-marketplace-commit case in the description).

Repro:

  1. Install a versioned plugin from a marketplace
  2. The plugin's version is bumped in the marketplace
  3. Open the plugin in Claude Desktop → the Update button is disabled

Workaround that does work (full lifecycle cycle): uninstall the plugin → restart Cowork → remove the marketplace → re-add the marketplace → sync to latest → reinstall.

Note: the CLI path claude plugin update <plugin>@<marketplace> updates correctly, so the underlying update mechanism is fine — it's specifically the UI Update button that's gated/disabled.

antmcc-hub · 2 months ago

For those syncing skill repos between harneses, Codex handles this cleanly just by uninstalling and reinstalling the plugin after a push. the Cowork WA has too many steps to make this feasible for the amount of skills maintenance ongoing.

I'm backing off my Cowork Plan and amping up my Codex plan until this is resolved.

CamG360 · 2 months ago

I have the same issue

antmcc-hub · 2 months ago

I have observed some progress here, using the sync button made new skills plugins in my marketplace repo appear in Cowork, but updates to existing skills did not pull through

antmcc-hub · 2 months ago

I have able to make good progress with a dual sync Marketplace between Codex and Cowork.
Codex app can refresh all plugins daily via a Synced task. The best I can manage in Cowork is a daily scheduled task to tell me Cowork has drifted, then a full uninstall / reinstall to address it.

antmcc-hub · 1 month ago

This may be resolved, or at least improved. I used the sync button in the plugin section and Cowork was able to new and updated skills

antmcc-hub · 1 month ago

Further update, the Cowork sync now appears to be enabled and when pressed shows an update to a more recent copy of the repo, but the actual plugins and skills contained within it are not updating i an the session, and this is not resolved by a restart.

robinlawyer · 1 month ago

Same symptom here, and I can confirm it's not caused by a stale manifest version.

Environment: Claude Desktop (macOS), personal account, marketplace added via "Add marketplace → Add from a repository" (public GitHub repo as source).

What we see: an installed plugin cannot be updated. The "Update" button is shown but is permanently disabled / not clickable, even though the remote already serves a higher plugin version.

Ruled out on our side: we bumped version in the plugin manifest (<plugin>/.claude-plugin/plugin.json) from 1.3.0 → 1.3.1 and pushed to main; the remote serves 1.3.1 correctly. The button stays disabled regardless, so this is not the "forgot to bump the version" case — it matches the title exactly ("even when version is outdated").

Impact: anyone distributing a plugin through a personal (repo-source) marketplace has no supported way to deliver updates (rebranding, new content, fixes) to users who already installed it.

Only workaround we found: remove the marketplace and re-add it from scratch, which forces a fresh clone and bypasses the version comparator. Related: #72616 (cached marketplace.json not refreshed), #49410, #38185.

Is there a planned fix, or a supported update path for personal/repo-source marketplaces other than remove + re-add? Happy to provide more detail.

antmcc-hub · 1 month ago

Still not fixed, buttons seem to be clickable but do not sync without uninstall and re-installing the marketplace.
Codex Desktop just runs a command....

Showing cached comments. Read the full discussion on GitHub ↗