[BUG] [Cowork] Windows MSIX: VM bundle and claude-code-vm SDK provision to %APPDATA%\Claude but VM/VirtioFS reads the package-virtualized LocalCache path — "VHDX file not found" then "SDK not verified"

Resolved 💬 1 comment Opened Jun 10, 2026 by krichlnw-bit Closed Jun 10, 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?

Environment:

  • Claude Desktop: 1.11847.5.0 (x64 MSIX; PackageFullName Claude_1.11847.5.0_x64__pzs8sxrjxfjjc; installed under C:\Program Files\WindowsApps\)
  • Only one Claude app registered (no separate Squirrel/.exe install present)
  • OS: Windows 11, Hyper-V enabled
  • CoworkVMService: Auto, binary at ...\WindowsApps\Claude_1.11847.5.0...\app\resources\cowork-svc.exe
  • Subscription: paid plan

Cowork ran fine initially, but after restarting the app once, it failed on VM startup with:
"failed to set VHDX path: VHDX file not found: C:\Users\<me>\AppData\Local\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude\vm_bundles\claudevm.bundle\rootfs.vhdx"

The VM bundle files actually exist - but in the real roaming path, not in the package-virtualized one the service reads. Both directories below ended up with a full, identical set (rootfs.vhdx ~9.1GB, sessiondata.vhdx ~580MB, vmlinuz, initrd, smol-bin.vhdx, plus .origin/.zst files):

  • Provisioned to: C:\Users\<me>\AppData\Roaming\Claude\vm_bundles\claudevm.bundle
  • Service reads: C:\Users\<me>\AppData\Local\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude\vm_bundles\claudevm.bundle

This matches the path-split described in #36298 (download path = real Roaming; runtime path = package LocalCache).

Second, identical-root-cause failure (SDK runtime)
Once the VM booted, it failed with:
RPC error -1: SDK version 2.1.170 not verified at /mnt/.virtiofs-root/shared/c/Users/<me>/AppData/Local/Packages/Claude_pzs8sxrjxfjjc/LocalCache/Roaming/Claude/claude-code-vm/2.1.170/.verified
The .verified marker is present at C:\Users\<me>\AppData\Roaming\Claude\claude-code-vm\2.1.170\.verified (real roaming) and was not present at the package LocalCache path the VM resolves via the VirtioFS share. So the SDK runtime suffers the same Roaming-vs-package split as the VM bundle.

Workaround (manual, does not survive updates):
With the app fully quit:

  • Copy %APPDATA%\Claude\vm_bundles\claudevm.bundle\* -> package LocalCache ...\vm_bundles\claudevm.bundle\
  • Copy %APPDATA%\Claude\claude-code-vm\* -> package LocalCache ...\claude-code-vm\

Then relaunch. Cowork starts and existing sessiondata.vhdx is preserved. (Note: CoworkVMService must be running; a stopped service separately produces connect ENOENT \\.\pipe\cowork-vm-service in cowork_vm_node.log.)

What Should Happen?

Cowork should provision to AND read from one consistent path on MSIX installs (either consistently the package-virtualized LocalCache path, or consistently real %APPDATA%\Claude). The current split means each update that recreates the package folder re-breaks a working install, and there is no supported user-side fix.

Error Messages/Logs

Steps to Reproduce

  1. Windows MSIX install of Claude Desktop with Cowork.
  2. Use Cowork successfully once (bundle + claude-code-vm provision under %APPDATA%\Claude\...).
  3. Restart the app (an app update appeared to occur same-day; package folder CreationTime was newer than %APPDATA%\Claude).
  4. Cowork fails: "VHDX file not found" pointing at the package LocalCache path, which lacks the files.

Claude Model

Other

Is this a regression?

I don't know

Last Working Version

_No response_

Claude Code Version

1.11847.5.0

Platform

Anthropic API

Operating System

Windows

Terminal/Shell

PowerShell

Additional Information

cowork_vm_node.log

main.log

Context:

vm-info.json

supported-features-info.json

system-info.txt

8778261/main.log)

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗