[BUG] Cowork EXDEV rename fails on dual-drive Windows 11 MSIX install — symlinks, junctions, and VHD workarounds all fail

Resolved 💬 7 comments Opened Apr 1, 2026 by mbrya859-byte Closed Jul 2, 2026

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] I am using the latest version of Claude Code

What's Wrong?

Environment:

Windows 11, Claude Desktop MSIX install
Dual drive setup: C: (237GB SSD RAID, system drive) and D: (1.81TB SSD RAID, primary storage drive)
Username: matth, Machine: FALCON-HEAVY

Issue:
Cowork workspace fails every time with EXDEV: cross-device link not permitted on the rootfs.vhdx rename step. The MSIX sandbox virtualizes AppData\Roaming as a separate filesystem, causing fs.rename() to fail even though both paths resolve to C:\ on the host.
Workarounds attempted (all failed):

Deleted vm_bundles from both C: and D: Packages paths
Added Windows Defender exclusion for AppData\Roaming\Claude
Symlink: AppData\Roaming\Claude\vm_bundles → D:\Claude\vm_bundles
Directory junction via mklink /J — same result
Mounted a 60GB dynamic VHD at vm_bundles mount point — workspace froze at 0%
Full reboot between each attempt
Multiple reinstall workspace attempts

Result:
With symlink/junction, workspace reaches 80% then hangs indefinitely. With VHD mount, freezes at 0%. Without any redirection, immediate EXDEV failure.
Expected fix:
Replace fs.rename() with fs.copyFile() + fs.unlink() fallback when EXDEV is caught, as described in the original report.

What Should Happen?

Cowork workspace should initialize successfully. The rootfs.vhdx file should be moved from the temp directory to vm_bundles without errors.

Error Messages/Logs

EXDEV: cross-device link not permitted, rename 'C:\Users\matth\AppData\Local\Temp\wvm-tmp-xxx\rootfs.vhdx' -> 'C:\Users\matth\AppData\Roaming\Claude\vm_bundles\claudevm.bundle\rootfs.vhdx'

Steps to Reproduce

  1. Install Claude Desktop (MSIX version) on Windows 11
  2. Have two drives: C: (system) and D: (primary storage), both SSD RAID
  3. Set Windows storage settings to save new apps to D:
  4. Open Claude Desktop → navigate to Cowork tab
  5. Click "Set up workspace"
  6. Observe download begins and reaches 80%, then fails with EXDEV error
  7. Retry reinstall — same result every time

Note: All filesystem redirection workarounds fail (symlinks, junctions, VHD
mount points) because Node.js fs.rename() resolves real paths before calling
the OS rename, bypassing any redirection.

Claude Model

Not sure / Multiple models

Is this a regression?

No, this never worked

Last Working Version

_No response_

Claude Code Version

2.1.87

Platform

Anthropic API

Operating System

Windows

Terminal/Shell

VS Code integrated terminal

Additional Information

Additional context:

  • Spent 4+ hours attempting workarounds — all failed
  • Workarounds attempted:
  • Deleted vm_bundles from both C: and D: Packages paths
  • Added Windows Defender exclusion for AppData\Roaming\Claude
  • Symlink: AppData\Roaming\Claude\vm_bundles → D:\Claude\vm_bundles
  • Directory junction via mklink /J
  • Mounted 60GB dynamic VHD at vm_bundles mount point
  • Full reboots between each attempt
  • Multiple reinstall workspace attempts
  • Workspace reaches 80% with junction/symlink then hangs indefinitely
  • Workspace freezes at 0% with VHD mount
  • This is a duplicate of #30584 but filing separately as a new affected user
  • Recommended fix: replace fs.rename() with fs.copyFile() + fs.unlink()

fallback when EXDEV is caught — same fix requested in multiple closed issues

View original on GitHub ↗

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