[BUG] [Cowork] Windows: EXDEV error on rename during VM bundle setup (EFS-related)
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?
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report
- [x] I am using the latest version of Claude Code
What's Wrong?
Cowork workspace setup fails on Windows 11 with an EXDEV: cross-device link not permitted error when the app tries to rename() downloaded files from %TEMP% to the vm_bundles directory.
The root cause appears to be EFS (Encrypting File System) interaction with Node.js fs.rename(). The system has a corporate environment where EFS encrypts files in WindowsApps and AppData. Even after:
- Disabling EFS via registry (
HKLM\SOFTWARE\Policies\Microsoft\Windows\EFS\EfsConfiguration = 1) - Decrypting the destination folder with
cipher /d - Reinstalling the app
- Redirecting TEMP to the same parent folder as the destination
The rename() call still fails with EXDEV, even when both source and destination are on the same drive (C:) and same filesystem.
Error Message
EXDEV: cross-device link not permitted, rename
'C:\Users\<user>\AppData\Local\Temp\wvm-XXXXXX\rootfs.vhdx' ->
'C:\Users\<user>\AppData\Roaming\Claude\vm_bundles\claudevm.bundle\rootfs.vhdx'
This also affects smol-bin.vhdx which is EFS-encrypted inside WindowsApps:
UNKNOWN: unknown error, copyfile
'C:\Program Files\WindowsApps\Claude_1.1.3189.0_x64__pzs8sxrjxfjjc\app\resources\smol-bin.x64.vhdx' ->
'C:\Users\<user>\AppData\Roaming\Claude\vm_bundles\claudevm.bundle\smol-bin.vhdx'
Environment
- Claude Desktop version: 1.1.3189.0 (MSIX)
- OS: Windows 11 Pro (corporate managed)
- EFS: Active on WindowsApps directory (corporate policy)
- Hyper-V: Enabled
Suggested Fix
The app should use fs.copyFile() + fs.unlink() as a fallback when fs.rename() fails with EXDEV, similar to how tools like mv handle cross-device moves. The copyfile operation for smol-bin.vhdx should also handle EFS-encrypted source files (e.g., using raw copy mode).
Related Issues
- #24962 - Cowork VM fails on Windows 11 Home
- #24974 - sessiondata.vhdx not created + macOS diagnostics on Windows
- #25474 - Cowork VM never creates on Windows
What Should Happen?
Claude Cowork doesn't work in Windows 11
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report
- [x] I am using the latest version of Claude Code
What's Wrong?
Cowork workspace setup fails on Windows 11 with an EXDEV: cross-device link not permitted error when the app tries to rename() downloaded files from %TEMP% to the vm_bundles directory.
The root cause appears to be EFS (Encrypting File System) interaction with Node.js fs.rename(). The system has a corporate environment where EFS encrypts files in WindowsApps and AppData. Even after:
- Disabling EFS via registry (
HKLM\SOFTWARE\Policies\Microsoft\Windows\EFS\EfsConfiguration = 1) - Decrypting the destination folder with
cipher /d - Reinstalling the app
- Redirecting TEMP to the same parent folder as the destination
The rename() call still fails with EXDEV, even when both source and destination are on the same drive (C:) and same filesystem.
Error Message
EXDEV: cross-device link not permitted, rename
'C:\Users\<user>\AppData\Local\Temp\wvm-XXXXXX\rootfs.vhdx' ->
'C:\Users\<user>\AppData\Roaming\Claude\vm_bundles\claudevm.bundle\rootfs.vhdx'
This also affects smol-bin.vhdx which is EFS-encrypted inside WindowsApps:
UNKNOWN: unknown error, copyfile
'C:\Program Files\WindowsApps\Claude_1.1.3189.0_x64__pzs8sxrjxfjjc\app\resources\smol-bin.x64.vhdx' ->
'C:\Users\<user>\AppData\Roaming\Claude\vm_bundles\claudevm.bundle\smol-bin.vhdx'
Environment
- Claude Desktop version: 1.1.3189.0 (MSIX)
- OS: Windows 11 Pro (corporate managed)
- EFS: Active on WindowsApps directory (corporate policy)
- Hyper-V: Enabled
Suggested Fix
The app should use fs.copyFile() + fs.unlink() as a fallback when fs.rename() fails with EXDEV, similar to how tools like mv handle cross-device moves. The copyfile operation for smol-bin.vhdx should also handle EFS-encrypted source files (e.g., using raw copy mode).
Related Issues
- #24962 - Cowork VM fails on Windows 11 Home
- #24974 - sessiondata.vhdx not created + macOS diagnostics on Windows
- #25474 - Cowork VM never creates on Windows
Error Messages/Logs
EXDEV: cross-device link not permitted, rename
'C:\Users\<user>\AppData\Local\Temp\wvm-XXXXXX\rootfs.vhdx' ->
'C:\Users\<user>\AppData\Roaming\Claude\vm_bundles\claudevm.bundle\rootfs.vhdx'
This also affects `smol-bin.vhdx` which is EFS-encrypted inside WindowsApps:
UNKNOWN: unknown error, copyfile
'C:\Program Files\WindowsApps\Claude_1.1.3189.0_x64__pzs8sxrjxfjjc\app\resources\smol-bin.x64.vhdx' ->
'C:\Users\<user>\AppData\Roaming\Claude\vm_bundles\claudevm.bundle\smol-bin.vhdx'
## Environment
- **Claude Desktop version:** 1.1.3189.0 (MSIX)
- **OS:** Windows 11 Pro (corporate managed)
- **EFS:** Active on WindowsApps directory (corporate policy)
- **Hyper-V:** Enabled
## Suggested Fix
The app should use `fs.copyFile()` + `fs.unlink()` as a fallback when `fs.rename()` fails with `EXDEV`, similar to how tools like `mv` handle cross-device moves. The `copyfile` operation for `smol-bin.vhdx` should also handle EFS-encrypted source files (e.g., using raw copy mode).
## Related Issues
- #24962 - Cowork VM fails on Windows 11 Home
- #24974 - sessiondata.vhdx not created + macOS diagnostics on Windows
- #25474 - Cowork VM never creates on Windows
Steps to Reproduce
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report
- [x] I am using the latest version of Claude Code
What's Wrong?
Cowork workspace setup fails on Windows 11 with an EXDEV: cross-device link not permitted error when the app tries to rename() downloaded files from %TEMP% to the vm_bundles directory.
The root cause appears to be EFS (Encrypting File System) interaction with Node.js fs.rename(). The system has a corporate environment where EFS encrypts files in WindowsApps and AppData. Even after:
- Disabling EFS via registry (
HKLM\SOFTWARE\Policies\Microsoft\Windows\EFS\EfsConfiguration = 1) - Decrypting the destination folder with
cipher /d - Reinstalling the app
- Redirecting TEMP to the same parent folder as the destination
The rename() call still fails with EXDEV, even when both source and destination are on the same drive (C:) and same filesystem.
Error Message
EXDEV: cross-device link not permitted, rename
'C:\Users\<user>\AppData\Local\Temp\wvm-XXXXXX\rootfs.vhdx' ->
'C:\Users\<user>\AppData\Roaming\Claude\vm_bundles\claudevm.bundle\rootfs.vhdx'
This also affects smol-bin.vhdx which is EFS-encrypted inside WindowsApps:
UNKNOWN: unknown error, copyfile
'C:\Program Files\WindowsApps\Claude_1.1.3189.0_x64__pzs8sxrjxfjjc\app\resources\smol-bin.x64.vhdx' ->
'C:\Users\<user>\AppData\Roaming\Claude\vm_bundles\claudevm.bundle\smol-bin.vhdx'
Environment
- Claude Desktop version: 1.1.3189.0 (MSIX)
- OS: Windows 11 Pro (corporate managed)
- EFS: Active on WindowsApps directory (corporate policy)
- Hyper-V: Enabled
Suggested Fix
The app should use fs.copyFile() + fs.unlink() as a fallback when fs.rename() fails with EXDEV, similar to how tools like mv handle cross-device moves. The copyfile operation for smol-bin.vhdx should also handle EFS-encrypted source files (e.g., using raw copy mode).
Related Issues
- #24962 - Cowork VM fails on Windows 11 Home
- #24974 - sessiondata.vhdx not created + macOS diagnostics on Windows
- #25474 - Cowork VM never creates on Windows
Claude Model
Opus
Is this a regression?
No, this never worked
Last Working Version
_No response_
Claude Code Version
- Claude Desktop version: 1.1.3189.0 (MSIX)
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
Windows Terminal
Additional Information
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report
- [x] I am using the latest version of Claude Code
What's Wrong?
Cowork workspace setup fails on Windows 11 with an EXDEV: cross-device link not permitted error when the app tries to rename() downloaded files from %TEMP% to the vm_bundles directory.
The root cause appears to be EFS (Encrypting File System) interaction with Node.js fs.rename(). The system has a corporate environment where EFS encrypts files in WindowsApps and AppData. Even after:
- Disabling EFS via registry (
HKLM\SOFTWARE\Policies\Microsoft\Windows\EFS\EfsConfiguration = 1) - Decrypting the destination folder with
cipher /d - Reinstalling the app
- Redirecting TEMP to the same parent folder as the destination
The rename() call still fails with EXDEV, even when both source and destination are on the same drive (C:) and same filesystem.
Error Message
EXDEV: cross-device link not permitted, rename
'C:\Users\<user>\AppData\Local\Temp\wvm-XXXXXX\rootfs.vhdx' ->
'C:\Users\<user>\AppData\Roaming\Claude\vm_bundles\claudevm.bundle\rootfs.vhdx'
This also affects smol-bin.vhdx which is EFS-encrypted inside WindowsApps:
UNKNOWN: unknown error, copyfile
'C:\Program Files\WindowsApps\Claude_1.1.3189.0_x64__pzs8sxrjxfjjc\app\resources\smol-bin.x64.vhdx' ->
'C:\Users\<user>\AppData\Roaming\Claude\vm_bundles\claudevm.bundle\smol-bin.vhdx'
Environment
- Claude Desktop version: 1.1.3189.0 (MSIX)
- OS: Windows 11 Pro (corporate managed)
- EFS: Active on WindowsApps directory (corporate policy)
- Hyper-V: Enabled
Suggested Fix
The app should use fs.copyFile() + fs.unlink() as a fallback when fs.rename() fails with EXDEV, similar to how tools like mv handle cross-device moves. The copyfile operation for smol-bin.vhdx should also handle EFS-encrypted source files (e.g., using raw copy mode).
Related Issues
- #24962 - Cowork VM fails on Windows 11 Home
- #24974 - sessiondata.vhdx not created + macOS diagnostics on Windows
- #25474 - Cowork VM never creates on Windows
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗