[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"
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
- Windows MSIX install of Claude Desktop with Cowork.
- Use Cowork successfully once (bundle + claude-code-vm provision under %APPDATA%\Claude\...).
- Restart the app (an app update appeared to occur same-day; package folder CreationTime was newer than %APPDATA%\Claude).
- 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
Context:
8778261/main.log)
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗