[BUG] Cowork EXDEV: cross-device link not permitted on Windows 11 Pro 25H2 Build 26200.8037 — persists with CldFlt disabled

Resolved 💬 3 comments Opened Mar 31, 2026 by EstebanGamboaR Closed Apr 3, 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?

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):

  1. Disabled CldFlt (sc.exe config CldFlt start= disabled + reboot) — EXDEV persists
  2. 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
  3. Used FileSystemWatcher on the real MSIX path (AppData\Local\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude\vm_bundles\claudevm.bundle) — same result
  4. Cleaned all previous installations (Remove-AppxPackage, deleted AppData\Local\AnthropicClaude)
  5. Enabled Hyper-V, VirtualMachinePlatform, and Windows Subsystem for Linux
  6. Full reinstall after reboot
  7. 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

  1. Clean install Claude Desktop on Windows 11 Pro 25H2 Build 26200.8037
  2. Enable Hyper-V, VirtualMachinePlatform, and Developer Mode
  3. Open Claude Desktop and navigate to the Cowork tab
  4. Observe "Configurando el espacio de trabajo de Claude..." progress bar
  5. Progress reaches near completion, then fails with EXDEV error
  6. Restarting Claude and retrying produces the same error every time
  7. 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

View original on GitHub ↗

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