Cowork: third-party marketplace plugins fail to persist — files never materialize on disk
Summary
Third-party marketplace plugins installed in Cowork (Claude Desktop) appear to install successfully in the UI but the plugin files are never written to disk. Skills from these plugins fail with "Unknown skill" errors. This affects all third-party marketplace plugins, not just a specific one.
Anthropic's own plugins (from knowledge-work-plugins marketplace) work fine because they use a different delivery mechanism (rpm/ directory → mounted as .remote-plugins/). Third-party plugins go through a separate download → cache pipeline that is broken.
Environment
- macOS (Apple Silicon)
- Claude Desktop (latest as of 2026-03-31)
- Cowork mode
- Org account (Team plan)
Reproduction steps
- Add any third-party plugin marketplace (tested with
timescale/marketing-skills,timescale/matty-tiger-skills, andswyxio/claude-plugins) - Install a plugin from the marketplace — UI shows it as installed
- Start a new Cowork session
- Try to invoke any skill from the installed plugin
- Get "Unknown skill: plugin-name:skill-name" error
What happens
The plugin install registers in the manifest (.remote-plugins/manifest.json) momentarily, but the plugin directory is never created alongside it. The manifest then reverts to only containing Anthropic's first-party plugins. On the next session, the plugin has no files on disk so skills fail.
Specifically:
.remote-plugins/manifest.jsonbriefly includes the third-party plugin entry, then drops it- No
plugin_XXXXXdirectory is created for the third-party plugin under.remote-plugins/ - The old
cowork_plugins/cache/mechanism (which previously stored third-party plugin files) no longer functions — the directory is never created after a fresh install - Install manifests (
.install-manifests/) are not created
What should happen
Plugin files should be downloaded and persisted to disk so they survive across sessions and skills can be loaded.
Diagnostic details
First-party plugins (working)
Anthropic's cowork-plugin-management plugin loads via rpm/plugin_016jbzs7aGBZSgBfSWhp4ToX/ on the host filesystem, mounted into the VM as .remote-plugins/plugin_016jbzs7aGBZSgBfSWhp4ToX/. This path works reliably.
Third-party plugins (broken)
Third-party plugins previously used a cowork_plugins/cache/ directory under local-agent-mode-sessions/{user-uuid}/{org-uuid}/. This directory contained versioned copies of plugin files and an installed_plugins.json manifest. After clearing stale state and reinstalling, this directory is never recreated.
Troubleshooting performed
- Uninstalled and reinstalled plugins from UI — same result
- Removed marketplaces entirely, restarted Claude Desktop, re-added marketplaces, reinstalled — same result
- Cleared Electron browser state (IndexedDB, Local Storage, Session Storage, shared_proto_db) to eliminate stale "already installed" state — plugins showed as uninstalled, reinstalled fresh, but files still never materialized
- Tested with three different third-party marketplaces from two different publishers — all exhibit the same behavior
- Confirmed the plugin packaging is valid (correct
plugin.json, valid SKILL.md frontmatter, builds and validates in CI) - Confirmed the same plugins work correctly in Claude Code (CLI) — issue is Cowork-specific
Workaround
Mounting the plugin repository as the Cowork session's workspace folder allows skills to load (Cowork discovers skills from the mounted directory). This is not a real fix — it requires users to mount the repo every session and doesn't work for non-developer team members.
Impact
This effectively makes all third-party Cowork marketplace plugins non-functional. Any team publishing plugins through a custom marketplace for their org cannot use them in Cowork.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗