Skip to content

Cowork VM: EXDEV error when installing marketplace plugins #25444

@jwaldrip

Description

@jwaldrip

Summary

Installing marketplace plugins via Claude Desktop (Cowork) fails with an EXDEV: cross-device link not permitted error. The VM's plugin installer attempts to fs.rename() across different filesystem mount points, which is not supported.

Steps to Reproduce

  1. Open Claude Desktop (Cowork)
  2. Browse plugins → Add marketplace by URL
  3. Add a marketplace (e.g., https://github.com/thebushidocollective/ai-dlc.git)
  4. Attempt to install a plugin from that marketplace

Error

✘ Failed to install plugin "ai-dlc@ai-dlc": EXDEV: cross-device link not permitted,
  rename 'mnt/.claude/cowork_plugins/cache/ai-dlc' ->
  '/sessions/cli-ff6fe91d/tmp/claude-plugin-temp-1770961568395'

The source (mnt/.claude/cowork_plugins/cache/) and destination (/sessions/<id>/tmp/) are on different mounts inside the VM, so rename() fails with EXDEV.

Additional Context

  • App version: 1.1.2998 (also reproduced on 1.1.2685)
  • Platform: macOS (darwin arm64, Apple M4 Max)
  • OS: macOS 26.2.0 (Darwin 25.2.0)
  • The marketplace add succeeds — only the plugin install step fails
  • The UI shows a generic "Failed to install plugin" without the EXDEV detail
  • Sentry events are being reported as Failed to install plugin
  • Previous version (1.1.2685) also had frequent segfaults (exit code 139) during marketplace operations which appear fixed in 1.1.2998

Expected Behavior

Plugin installation should succeed. The installer should use a copy + unlink fallback (or fs.cp + fs.rm) when fs.rename() fails with EXDEV, which is standard practice for cross-device moves in Node.js.

Logs

From ~/Library/Logs/Claude/main.log:

2026-02-12 22:46:07 [info] [MarketplacePluginManagerCLI] Installing plugin: ai-dlc@ai-dlc
2026-02-12 22:46:07 [info] [VMCLIRunner] Running: claude plugin install ai-dlc@ai-dlc --cowork
2026-02-12 22:46:07 [info] [VMCLIRunner] Command completed with exit code 1
2026-02-12 22:46:07 [error] [MarketplacePluginManagerCLI] Failed to install plugin: Installing plugin "ai-dlc@ai-dlc"...
✘ Failed to install plugin "ai-dlc@ai-dlc": EXDEV: cross-device link not permitted, rename 'mnt/.claude/cowork_plugins/cache/ai-dlc' -> '/sessions/cli-ff6fe91d/tmp/claude-plugin-temp-1770961568395'

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingduplicateThis issue or pull request already exists

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions