[BUG] Cowork EXDEV rename fails on dual-drive Windows 11 MSIX install — symlinks, junctions, and VHD workarounds all fail
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
- Install Claude Desktop (MSIX version) on Windows 11
- Have two drives: C: (system) and D: (primary storage), both SSD RAID
- Set Windows storage settings to save new apps to D:
- Open Claude Desktop → navigate to Cowork tab
- Click "Set up workspace"
- Observe download begins and reaches 80%, then fails with EXDEV error
- 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
This issue has 7 comments on GitHub. Read the full discussion on GitHub ↗