Cowork: StartVMWithBundle receives the unredirected bundle path while configure passes the MSIX-redirected one
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?
Surface: Claude Desktop 1.28929.0.0 (Cowork VM service), not the Claude Code CLI. Marked minor — no observed user impact in this run.
From C:\ProgramData\Claude\Logs\cowork-service.log in a single successful run:
[Server] Bundle: C:\Users\<user>\AppData\Local\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude\vm_bundles\claudevm.bundle
[VM] StartVMWithBundle called (bundlePath=C:\Users\<user>\AppData\Roaming\Claude\vm_bundles\claudevm.bundle, memoryGB=0, cpuCount=0)
configure supplies the MSIX-redirected path (under LocalCache, where AppX redirects AppData\Roaming writes for packaged apps); StartVMWithBundle receives the unredirected AppData\Roaming\Claude path instead — a path that doesn't actually contain the bundle for a packaged install.
Harmless in this run only because configure had already set each path (VHDX, kernel, initrd, smol-bin) individually before StartVMWithBundle was called, so nothing actually reads bundlePath off the unredirected value. But the argument itself is wrong, and any code path that trusts bundlePath directly (now or in a future change) would break on packaged installs.
What Should Happen?
StartVMWithBundle should receive the same MSIX-redirected bundle path that configure uses, so bundlePath is correct and safe for any code path that reads it directly.
Error Messages/Logs
From cowork-service.log (single successful run):
[Server] Bundle: C:\Users\<user>\AppData\Local\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude\vm_bundles\claudevm.bundle
[VM] StartVMWithBundle called (bundlePath=C:\Users\<user>\AppData\Roaming\Claude\vm_bundles\claudevm.bundle, memoryGB=0, cpuCount=0)
Steps to Reproduce
- Install Claude Desktop 1.28929.0.0 (MSIX package) and start a Cowork session successfully.
- Open C:\ProgramData\Claude\Logs\cowork-service.log for that run.
- Compare the Bundle path logged by configure/[Server] against the bundlePath argument logged by StartVMWithBundle.
- Observe configure uses the MSIX-redirected path (...\AppData\Local\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude\vm_bundles\claudevm.bundle) while StartVMWithBundle receives the unredirected path (...\AppData\Roaming\Claude\vm_bundles\claudevm.bundle).
Claude Model
None
Is this a regression?
No, this never worked
Last Working Version
_No response_
Claude Code Version
2.1.228 (Claude Code CLI, latest at time of filing) — Claude Desktop app build 1.28929.0.0 is the actual affected surface (Cowork VM service).
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
Other
Additional Information
Minor / no observed user impact today: this run succeeded because configure had already set each path (VHDX, kernel, initrd, smol-bin) individually before StartVMWithBundle ran, so bundlePath itself was never read. Flagging so it doesn't become a live bug if a future code path starts trusting bundlePath directly.
Found while diagnosing #86140 (CoworkVMService never starts — packaged-service activation fails with ERROR_INVALID_PARAMETER).