Cowork remote plugins: no path to force-update stale marketplace cache (Windows)
Summary
Cowork's remote plugin system serves stale marketplace content with no user-accessible workaround. Unlike the CLI plugin system (where users can git pull the local marketplace clone per #29071), Cowork mounts remote plugins read-only from server-side infrastructure. When the server cache is stale, the user is stuck.
Environment
- Platform: Windows 11 Pro 10.0.26100
- Cowork: Latest as of 2026-03-20
- Marketplace: Private org marketplace (
CEG-Solutions/ceg-cowork-plugins)
Steps to reproduce
- Install a plugin from an org marketplace in Cowork (e.g.,
refinery v2.0.0) - Push fixes to the marketplace repo's
mainbranch (confirmed viagh api) - Bump version in
marketplace.jsonfrom2.0.0to2.0.1 - In Cowork, click "Check for updates" → reports "all skills up to date"
- Close and reopen Cowork (twice) → still reports up to date
- Uninstall and reinstall the plugin → reinstalls the old
2.0.0content
What I tried (exhaustive)
| Attempt | Result |
|---------|--------|
| Close/reopen Cowork (X button, twice) | No change |
| Uninstall + reinstall plugin | Reinstalled stale v2.0.0 |
| Version bump in marketplace.json (2.0.0 → 2.0.1) | Cowork doesn't use this field |
| Ask Cowork Claude to git pull inside VM | No git clone exists — remote plugins aren't git repos in the VM |
| Ask Cowork Claude to overwrite plugin files | .remote-plugins/ is mounted read-only |
| Search ~/.claude/plugins/marketplaces/ on host | CEG marketplace not listed in known_marketplaces.json — only Anthropic official marketplaces are there |
| Search C:\Users\<user>\AppData\ on host | No CEG/cowork/marketplace references found anywhere |
| Search C:\ProgramData\Claude\ on host | Only contains cowork-service.log and coworkd.log |
| Mount local clone in Cowork, ask Claude to copy files | .remote-plugins/ is read-only, copy fails |
Key findings
- Cowork tracks remote plugins by ID and timestamp, not by
marketplace.jsonversion field. Bumping the version does nothing. - Remote plugins are delivered as a read-only mount, not as a git checkout. There is no
.git/directory inside the VM's plugin path. - The marketplace cache does not live on the user's local filesystem. Unlike CLI marketplaces (stored at
~/.claude/plugins/marketplaces/), Cowork's org marketplace cache is entirely server-side. The user has no access to it. known_marketplaces.jsonon the host only lists Anthropic official marketplaces, not org-managed ones. This confirms org marketplaces are managed through a different code path.- The "last updated" timestamp in Cowork shows today's date, but the actual file content is from before the fixes were pushed. The timestamp may reflect when Cowork last checked, not when content was actually refreshed.
Why this is worse than the CLI version of this bug
The CLI bug (#29071) has a manual workaround: cd ~/.claude/plugins/marketplaces/<name> && git pull. Cowork users have zero workaround:
- Can't access the server-side cache
- Can't write to the read-only mount
- Can't
git pullbecause there's no git repo in the VM - Can't install a local override (no
~/.claude/plugins/override mechanism in Cowork) - Uninstall/reinstall pulls from the same stale cache
For org-managed marketplaces, this means a team lead pushes a critical fix and no team member can receive it until Anthropic's server-side cache refreshes on its own (unknown cadence).
Related issues
- #29071 —
plugin updaterunsgit fetchbut nevergit merge/pull(root cause for CLI) - #28998 — "Check for Updates" falsely reports latest version on Windows
- #29074 — Plugin cache not cleared on uninstall/reinstall
- #14061 —
/plugin updatedoes not invalidate plugin cache - #35752, #36317, #36380 — Recent duplicates confirming this is widespread
Suggested fixes
Agreeing with @sagarbaver's priority ordering from #29071, with an additional Cowork-specific item:
- Must have:
git pullbefore version/commit comparison (fixes CLI) - Must have (Cowork-specific): Server-side marketplace cache must refresh when checking for updates, not just compare against a stale local copy
- Should have: Cache invalidation on uninstall/reinstall — a fresh install should always pull fresh content
- Nice to have: TTL-based auto-refresh (e.g., daily) for org marketplaces
12 Comments
Found 3 possible duplicate issues:
This issue will be automatically closed as a duplicate in 3 days.
🤖 Generated with Claude Code
Not a duplicate. #29071, #35752, and #36380 are all about the CLI plugin system where the local marketplace clone at
~/.claude/plugins/marketplaces/isn't pulled. The workaround in all three isgit pullin the local clone.This issue is about Cowork's remote plugin system, which is architecturally different:
~/.claude/plugins/marketplaces/orknown_marketplaces.json— they're managed server-side..remote-plugins/. There's no git repo, no cache directory, nothing the user can touch.cdandgit pull.The root cause is related (stale cache, no fetch before comparison), but the affected system, code path, and required fix are all different. The CLI fix (adding
git pullto the update command) won't help Cowork users at all — Cowork needs a server-side cache refresh mechanism.Second data point — macOS, personal (non-org) marketplace
Confirming on Darwin 25.4.0. Personal GitHub marketplace, unpinned {source: github, repo: ...}. Cowork's updatedAt is frozen ~26h ago at v4.7.0; main is at v5.3.0 with 5 version bumps in between — all ignored. Uninstall/reinstall and "refresh marketplace" both no-ops. Matches all 5 points of the original report, including point 4 (personal marketplaces also absent from local known_marketplaces.json) and point 5 (file mtimes show Cowork rewrote the local mirror today with the same stale content).
Pivotal detail worth isolating: the frozen snapshot captured a transient schema. The source field was a local path (./path/to/plugin) at snapshot time; I refactored to the github form 3m 39s later and started version-bumping there. If the server had re-read the marketplace even once in the following 26h, it would have seen a completely different source object and 5 version bumps. It hasn't.
Happy to share marketplace / plugin IDs and session UUIDs privately for triage.
👍 Same exact issue here on Cowork desktop Windows 11. Confirmed today 2026-04-29 with private marketplace
admin431/PoWi-Mobile— bumped plugin v1.1.0 → v1.5.0 across multiple commits to develop, Cowork keeps showing v1.1.0 even after remove + re-add marketplace. Workaround: zip flow (uninstall + manual zip upload) which loses marketplace tracking. +1 to your priority ordering — server-side cache refresh on 'Check for updates' is the must-have.+1
Hitting this same issue with a private Github org and repo + Team's rolled out Organisation private marketplace.
Can we get a workaround besides manual zip deployment please which is not scalable.
+1
+1 https://github.com/anthropics/claude-code/issues/65201#issuecomment-4617391879
+1 Same issue on MacOS, personal marketplace. No way to get Cowork to recognize the updated versions of the plugin (5 days worth of changes, 6 versions)
We are facing this issue also; it makes operating our private marketplace far more difficult for non-technical team members.
+1
+1
+1