[BUG] Cowork: Claude Code process crashes with exit code 132 (SIGILL) in nested virtualization (Proxmox/KVM → Windows Hyper-V)
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 consistently fails to start any session. The Claude Code SDK binary (/usr/local/bin/claude) inside the Cowork Linux VM crashes immediately with exit code 132 (SIGILL — Illegal Instruction) every time a session is spawned. The VM itself boots and operates correctly; only the SDK binary fails.
The problem has persisted across multiple Claude Desktop updates since March 31, 2026.
Environment
Host hypervisor: Proxmox VE 8.4.14 (kernel 6.8.12-11-pve), KVM/QEMU 9.2.0
Host CPU: AMD Ryzen 7 4800U (Zen 2), nested virtualization enabled (kvm_amd nested=1)
Proxmox VM config: cpu: host,hidden=1 (full passthrough, no flag filtering)
Guest OS: Windows 11 Pro (build 26100)
Claude Desktop: latest version (initially reported on v1.1.9669)
Claude Code (native Windows): works perfectly (v2.1.80+)
Cowork VM: visible via hcsdiag list, boots and connects successfully
Virtualization stack
Physical CPU (AMD Ryzen 7 4800U / Zen 2)
└─ Proxmox/KVM (cpu: host, nested=1)
└─ Windows 11 (Hyper-V enabled)
└─ Cowork Linux VM (HCS-managed, smol-bin.x64.vhdx)
└─ /usr/local/bin/claude → SIGILL (exit code 132)
Key observation
Claude Code runs fine natively on the same Windows VM. The SIGILL only occurs inside the Cowork Linux VM, suggesting the Linux binary is compiled with CPU instructions that Hyper-V does not propagate in a nested virtualization context.
Steps to reproduce
Set up a Windows 11 VM with Hyper-V inside Proxmox (or any KVM/QEMU hypervisor) with nested virtualization enabled
Install Claude Desktop
Start any Cowork session
Session fails immediately with: "Claude Code process exited with code 132"
100% reproducible on every attempt.
Log evidence
cowork_vm_node.log (host-side VM manager):
[VM:start] Startup complete, total time: 41024ms
[VM] Network status: CONNECTED
[VM] API reachability: REACHABLE
[Process:85aece86] started PID 4614
[Process:85aece86] Exited, code=132, signal=null, duration=5868ms, oom=false
coworkd-user log (guest-side daemon):
[process:85aece86] spawn: name=inspiring-nice-ritchie cmd=/usr/local/bin/claude [...]
[process:85aece86] started PID 4614
[process:85aece86] direct child exited: code=132 signal=<nil>
main.log (Claude Desktop):
Session local_686194bc query error: CLI output was not valid JSON. This may indicate an error during startup.
[CycleHealth] Unhealthy cycle: { unhealthy_reason: 'system_error', error_category: 'json_parse_error' }
What was investigated
Proxmox nested virtualization is confirmed active (/sys/module/kvm_amd/parameters/nested → 1)
CPU type in Proxmox is host (full passthrough)
hidden=1 flag applied for Hyper-V compatibility
Multiple reinstalls of Claude Desktop did not help
Multiple updates of Claude Desktop did not help
The Cowork HCS VM is locked down (hvc / hcsdiag exec cannot open a shell), so /proc/cpuinfo inside the VM could not be inspected
gpu-info.json shows no GPU acceleration (Microsoft Basic Render Driver only)
supported-features-info.json shows computerUse: unsupported (reason: "unsupported_platform")
Expected behavior
Cowork should either:
Work in nested virtualization environments, or
Detect the incompatibility at startup and display a clear error message instead of silently crashing with a JSON parse error
Suggested fix
The Linux binary bundled in smol-bin.x64.vhdx should be compiled with a baseline x86-64 instruction set (e.g., x86-64-v2) to ensure compatibility with nested Hyper-V environments where advanced CPU features may not be propagated.
What Should Happen?
Cowork should either:
- Work in nested virtualization environments (the VM boots fine, networking works, API is reachable — only the SDK binary crashes), or
- Detect the incompatibility at startup and display a clear error message (e.g., "Unsupported CPU features detected") instead of silently crashing with a generic "CLI output was not valid JSON" error.
For reference, Claude Code runs perfectly natively on the same Windows VM (v2.1.80+), confirming the physical CPU supports all required instructions.
Error Messages/Logs
User-facing error: "Claude Code process exited with code 132"
cowork_vm_node.log (host-side VM manager):
[VM:start] Startup complete, total time: 41024ms
[VM] Network status: CONNECTED
[VM] API reachability: REACHABLE
[Process:85aece86] started PID 4614
[Process:85aece86] Exited, code=132, signal=null, duration=5868ms, oom=false
coworkd-user log (guest-side daemon):
[process:85aece86] spawn: name=inspiring-nice-ritchie cmd=/usr/local/bin/claude [...]
[process:85aece86] started PID 4614
[process:85aece86] direct child exited: code=132 signal=<nil>
main.log (Claude Desktop):
Session local_686194bc query error: CLI output was not valid JSON. This may indicate an error during startup.
[CycleHealth] Unhealthy cycle: { unhealthy_reason: 'system_error', error_category: 'json_parse_error' }
Steps to Reproduce
- Run a Windows 11 VM with Hyper-V enabled inside a KVM/QEMU hypervisor (e.g., Proxmox VE) with nested virtualization enabled (kvm_amd nested=1, cpu: host)
- Install Claude Desktop (latest version, MSIX from Microsoft Store)
- Start any Cowork session
- Session fails immediately with: "Claude Code process exited with code 132"
100% reproducible on every attempt, across multiple Claude Desktop updates since March 2026.
Claude Model
Not sure / Multiple models
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
2.1.87
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
Other
Additional Information
_No response_
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗