[BUG] Cowork EXDEV: cross-device link not permitted on Windows 11 Pro 25H2 Build 26200.8037 — persists with CldFlt disabled
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?
Cowork fails every time at the final step of workspace setup with "EXDEV: cross-device link not permitted." The rename() operation fails when moving rootfs.vhdx from a wvm-tmp-* subdirectory to the claudevm.bundle directory, even though both paths are on the same physical drive (C:\).
Error message:
EXDEV: cross-device link not permitted, rename
'C:\Users\Usuario\AppData\Roaming\Claude\vm_bundles\claudevm.bundle\wvm-tmp-XXXXXX\rootfs.vhdx' ->
'C:\Users\Usuario\AppData\Roaming\Claude\vm_bundles\claudevm.bundle\rootfs.vhdx'
The MSIX sandbox virtualizes AppData\Roaming as a separate filesystem, causing Node.js fs.rename() to fail with EXDEV.
Workarounds attempted (all failed to permanently resolve):
- Disabled CldFlt (sc.exe config CldFlt start= disabled + reboot) — EXDEV persists
- Manually copied rootfs.vhdx via PowerShell script monitoring wvm-tmp-* directories — file gets placed but Claude's internal rename() still fails on subsequent setup steps
- Used FileSystemWatcher on the real MSIX path (AppData\Local\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude\vm_bundles\claudevm.bundle) — same result
- Cleaned all previous installations (Remove-AppxPackage, deleted AppData\Local\AnthropicClaude)
- Enabled Hyper-V, VirtualMachinePlatform, and Windows Subsystem for Linux
- Full reinstall after reboot
- Updated to v1.1.9669 — same error
The workspace setup progress bar reaches up to ~100% but always fails at the rename step.
What Should Happen?
Cowork workspace should complete setup successfully and become usable. The rootfs.vhdx file should be placed in the bundle directory without errors. The app should use fs.copyFile() + fs.unlink() instead of fs.rename() to handle cross-device moves within the MSIX sandbox.
Error Messages/Logs
EXDEV: cross-device link not permitted, rename
'C:\Users\Usuario\AppData\Roaming\Claude\vm_bundles\claudevm.bundle\wvm-tmp-MxZQXq\rootfs.vhdx' ->
'C:\Users\Usuario\AppData\Roaming\Claude\vm_bundles\claudevm.bundle\rootfs.vhdx'
Also observed earlier in the process:
EXDEV: cross-device link not permitted, rename
'C:\Users\Usuario\AppData\Local\Temp\wvm-xlxsqN\rootfs.vhdx' ->
'C:\Users\Usuario\AppData\Roaming\Claude\vm_bundles\claudevm.bundle\rootfs.vhdx'
Steps to Reproduce
- Clean install Claude Desktop on Windows 11 Pro 25H2 Build 26200.8037
- Enable Hyper-V, VirtualMachinePlatform, and Developer Mode
- Open Claude Desktop and navigate to the Cowork tab
- Observe "Configurando el espacio de trabajo de Claude..." progress bar
- Progress reaches near completion, then fails with EXDEV error
- Restarting Claude and retrying produces the same error every time
- Disabling CldFlt and rebooting does not resolve the issue
Claude Model
Not sure / Multiple models
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
Claude Desktop 1.1.9669
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
PowerShell
Additional Information
Environment:
- OS: Windows 11 Pro, Version 25H2, Build 26200.8037
- Hyper-V: Enabled
- VirtualMachinePlatform: Enabled
- Microsoft-Windows-Subsystem-Linux: Enabled
- Developer Mode: Enabled
- CldFlt: Tested both enabled and disabled — EXDEV persists either way
- OneDrive: Installed (OneDrive + OneDrive - University)
- Claude Desktop: 1.1.9669 (MSIX package)
Root cause: Node.js fs.rename() cannot move files across MSIX virtual filesystem boundaries. The MSIX sandbox treats AppData\Roaming (virtualized) and AppData\Local\Temp as separate devices, even though both are on C:\.
Suggested fix: Replace fs.rename() with fs.copyFile() + fs.unlink() as a fallback when EXDEV is encountered, as suggested in issues #25911, #30584, #27897, #36642, and #38316.
Related issues: #25911, #27897, #30584, #34605, #36642, #37094, #37312, #38030, #38316, #38457
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗