[BUG] Cowork ENOSPC / EXDEV on Windows MSIX install — VM bundle fails to download
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 to start with two sequential errors:
- Initial error (low disk space):
ENOSPC: no space left on device, write
- After freeing ~15 GB of disk space, the error changed to:
EXDEV: cross-device link not permitted, rename
'C:\temp\wvm-wG5Fkr\rootfs.vhdx' ->
'C:\Users\<user>\AppData\Roaming\Claude\vm_bundles\claudevm.bundle\rootfs.vhdx'
What Should Happen?
VM bundle should download and install successfully.
Error Messages/Logs
Steps to Reproduce
Environment
- Claude Desktop version: 1.1.6041 (62e193) 2026-03-10T20:11:22.000Z
- OS: Windows (MSIX install)
- Hyper-V: Enabled, vmms service Running
What's wrong?
Cowork fails to start with two sequential errors:
- Initial error (low disk space):
ENOSPC: no space left on device, write
- After freeing ~15 GB of disk space, the error changed to:
EXDEV: cross-device link not permitted, rename
'C:\temp\wvm-wG5Fkr\rootfs.vhdx' ->
'C:\Users\<user>\AppData\Roaming\Claude\vm_bundles\claudevm.bundle\rootfs.vhdx'
Root cause
The MSIX sandbox virtualizes AppData\Roaming as a separate filesystem.
Claude downloads rootfs.vhdx to C:\temp, then attempts fs.rename()
to move it to the virtualized AppData\Roaming path. Windows treats
these as different filesystems and blocks the rename with EXDEV —
even though both paths resolve to C:\ on the host.
Attempted workarounds
- Restarting Claude and computer — no effect
- Reinstall workspace button — no effect
- NTFS junction from AppData\Roaming\Claude\vm_bundles -> C:\ClaudeVM — no effect
- NTFS junction from MSIX RoamingState\vm_bundles -> C:\ClaudeVM — no effect
- Setting TEMP/TMP env variables to C:\temp — no effect
Expected behavior
VM bundle should download and install successfully.
Suggested fix
Replace fs.rename() with fs.copyFile() + fs.unlink()
(or use a cross-device aware move library) when moving
the downloaded VM bundle into the target directory.
Related issues
#25476, #28998, #30584
Claude Model
None
Is this a regression?
No, this never worked
Last Working Version
_No response_
Claude Code Version
1.1.6041 (Claude Desktop)
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
Other
Additional Information
_No response_
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗