Plugin update flow on Claude Code Desktop fails to detect newer versions

Resolved 💬 3 comments Opened Apr 28, 2026 by 0xnfrith Closed May 2, 2026

Summary

Claude Code Desktop's "Update" button stays greyed out with the tooltip "On latest version" even when the marketplace has published a newer plugin version. All three documented Desktop-accessible update paths fail. The only working refresh requires a terminal, which non-technical users do not have access to.

Environment

  • Claude Code Desktop v2.1.121
  • macOS Darwin 25.4.0
  • Test plugin: nfrith/als
  • Marketplace source: { "source": "git", "url": "https://github.com/nfrith/als.git" }

Reproduction

  1. In Desktop, add a marketplace and install a plugin. Note the version in Customize → <plugin>.
  2. As the plugin author, bump plugin.json version (e.g. 0.1.10.1.2), commit, push to the marketplace's default branch.
  3. In Desktop, open Customize → <plugin> and observe the Update button.

Expected

Update button activates. Clicking installs the new version.

Actual

Button stays greyed with tooltip "On latest version". The platform never observes the new version.

Additional Desktop-side paths tested — all fail

| Action | Result |
|---|---|
| Click Update | Greyed; "On latest version" |
| Quit Desktop, reopen | Still on cached version |
| Enable autoUpdate: true on the marketplace via CLI, restart Desktop | Still on cached version |
| Uninstall → close Desktop → reopen → remove marketplace → re-add marketplace → reinstall plugin | Still installs the old version — Desktop's "re-add marketplace" reuses the existing on-disk clone at ~/.claude/plugins/marketplaces/<name>/ rather than fresh-cloning from origin |

Version-strategy permutations tested — all fail

Per the version resolution docs:

  • version in plugin.json only, pre-release format (0.1.0-beta.280.1.0-beta.32) — fails
  • version in plugin.json only, clean semver (0.1.10.1.2) — fails
  • version in marketplace.json only (0.1.0-beta.310.1.0-beta.32) — fails
  • No version anywhere (commit-SHA path, with ref: stable git-tag pin moved forward) — fails

In all cases, Desktop reports "On latest version".

Working workaround (terminal only)

claude plugin marketplace update <marketplace-name> from a terminal force-pulls the on-disk marketplace clone, after which an uninstall + reinstall through Desktop's Customize panel installs the new version (because the clone is now fresh).

Impact

Non-technical users on Claude Code Desktop have no working path to receive plugin updates. Plugin authors cannot ship fixes or new features to existing Desktop installs without instructing every user to open a terminal.

View original on GitHub ↗

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