[BUG] Cowork VM works correctly but cleanupVMBundleIfUnsupported deletes VM bundle on every app exit — Windows 11 Pro 25H2
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 runs perfectly — the VM spawns, processes execute, tasks complete — but every time Claude Desktop is closed, the cleanupVMBundleIfUnsupported routine incorrectly flags the system as yukonSilver not supported and deletes the VM bundle files. On next launch, the Cowork tab shows "Cowork requires a newer installation" because the bundle was deleted.
This means Cowork only works for a single session. Closing the app destroys the VM files, requiring a full reinstall each time.
Environment
OS: Windows 11 Pro 25H2 (Build 26200.8039)
CPU/RAM: 16 cores / 32 GB RAM
Claude Desktop Version: Latest from claude.ai/download (MSIX install)
Virtualization: VirtualMachinePlatform enabled, Hyper-V enabled, HyperVisorPresent = True
User context: Non-admin user, installed via Add-AppxPackage
What Should Happen?
Closing Claude Desktop should not delete the VM bundle. The Cowork tab should remain functional across app restarts.
Error Messages/Logs
On every app exit, the cleanup routine deletes the VM bundle because platform detection returns status=unsupported, despite the VM having just run successfully.
From %APPDATA%\Claude\logs\cowork_vm_node.log:
2026-03-30 13:29:36 [info] [Spawn:vm] Spawn succeeded in 51ms
2026-03-30 13:29:59 [info] [Process] Exited, code=0, signal=null, duration=23016ms, oom=false
...
2026-03-30 13:30:35 [info] [Spawn:vm] Spawn succeeded in 47ms
2026-03-30 13:30:49 [info] [Process] Exited, code=0, signal=null, duration=13692ms, oom=false
...
2026-03-30 13:31:12 [info] [VM:shutdown] App quit, stopping VM...
2026-03-30 13:31:12 [info] [VM:shutdown] Completed in 448ms
2026-03-30 13:31:21 [info] [cleanupVMBundleIfUnsupported] yukonSilver not supported (status=unsupported), checking for stale bundle...
2026-03-30 13:31:21 [info] [deleteVMBundle] Deleting reinstall files from C:\Users\billb\AppData\Roaming\Claude\vm_bundles\claudevm.bundle
2026-03-30 13:31:21 [info] [deleteVMBundle] Reinstall files deleted (sessiondata.img and rootfs.img.zst preserved)
Steps to Reproduce
Clean install Claude Desktop on Windows 11 Pro 25H2
Open Claude Desktop, switch to Cowork tab — it works
Run a Cowork task — completes successfully
Close Claude Desktop (quit from system tray)
Reopen Claude Desktop
Cowork tab now shows "Cowork requires a newer installation"
Claude Model
Opus
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
Version 1.1.9493 (b58a0b)
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
PowerShell
Additional Information
Root Cause Analysis
The cleanupVMBundleIfUnsupported function runs on app exit and checks yukonSilver support status. This check returns unsupported on this system despite the VM functioning correctly. The function then deletes the VM bundle files, requiring a full reinstall on next launch.
The platform detection logic is clearly incorrect — if the VM just ran successfully, the platform is by definition supported.
Suggested Fix
Skip the cleanup if the VM was successfully used during the current session
Or fix the yukonSilver platform detection to correctly identify Windows 11 Pro 25H2 as supported
At minimum, do not delete a working VM bundle based on a status check that contradicts runtime behavior
Additional Context
The CoworkVMService also cannot be deleted even with Administrator privileges (sc.exe delete returns Access Denied), which complicates reinstallation
Related issues: #25136, #25142, #28963, #28998
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗