Cowork: StartVMWithBundle receives the unredirected bundle path while configure passes the MSIX-redirected one

Status Open
Reported on v2.1.228
Maintainer reply None cached
Activity 0 comments · opened Aug 12, 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?

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

  1. Install Claude Desktop 1.28929.0.0 (MSIX package) and start a Cowork session successfully.
  2. Open C:\ProgramData\Claude\Logs\cowork-service.log for that run.
  3. Compare the Bundle path logged by configure/[Server] against the bundlePath argument logged by StartVMWithBundle.
  4. 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).

View original on GitHub ↗