[BUG] Dispatch offline on Windows — cowork-svc sends invalid JSON (unsubstituted $ template) to HCS, VM never boots (v1.3109.0)
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-svc.exe is sending an invalid JSON document to the Windows Host Compute Service (HCS) on every VM creation attempt, causing HCS to reject the call with error 0xC037010D. The literal $ in the error message strongly suggests an unsubstituted template variable in whatever code path builds the VM spec JSON. As a result the Cowork VM never boots, and Dispatch permanently shows "Desktop appears offline" — even though the service, hypervisor, and network are all healthy.
User-facing symptom: Dispatch tab on both Desktop and mobile shows: Desktop appears offline. Will run when it reconnects.
Note: This is a Claude Desktop / Cowork bug on Windows, not a Claude Code CLI bug. Filing here per precedent set by #49514, #48683, #43907 (where Claude Desktop / Cowork issues are tracked in this repo). Happy to move if there's a more appropriate location.
What Should Happen?
cowork-svc.exe should submit a valid JSON VM spec (with all template variables fully interpolated) to HcsCreateComputeSystem / HcsModifyComputeSystem. HCS should accept the spec, the Cowork VM should boot, and Dispatch should come online and run queued tasks (instead of showing "Desktop appears offline").
Error Messages/Logs
Every VM creation attempt produces Event ID 11001 in `Microsoft-Windows-Hyper-V-Compute-Admin`:
The specified property query is invalid: The virtual machine or container JSON document is invalid.
(0xC037010D, 'Invalid JSON document '$'').
The `'$'` is the literal payload HCS received — it appears `cowork-svc` submitted a template string where the variable was never interpolated.
**Sample log excerpt (last ~4 days):**
18/04/2026 10:47:00 PM Information 1001 HCS started successfully
18/04/2026 10:39:36 PM Error 11001 Invalid JSON document '$'
18/04/2026 10:33:37 PM Information 1001 HCS started successfully
18/04/2026 10:32:36 PM Error 11001 Invalid JSON document '$'
18/04/2026 10:17:52 PM Information 1001 HCS started successfully
18/04/2026 10:17:05 PM Error 11001 Invalid JSON document '$'
18/04/2026 10:07:47 PM Information 1001 HCS started successfully
18/04/2026 10:06:51 PM Error 11001 Invalid JSON document '$'
...
14/04/2026 2:59:45 PM Error 11001 Invalid JSON document '$'
**Pattern:** HCS starts, cowork-svc submits JSON `$`, HCS rejects, loop repeats. This has been failing on every attempt since at least **14 April 2026** — predating the v1.3109.0 release that was advertised as fixing the Dispatch-offline issue (status.claude.com resolved notice, Apr 16 21:29 UTC).
Steps to Reproduce
- Install Claude Desktop v1.3109.0 on Windows 10 Pro with Hyper-V fully enabled
- Sign in, enable Dispatch, toggle Keep awake + computer use
- Send any message from the Dispatch tab
- Observe "Desktop appears offline" in the UI
- Open Event Viewer →
Applications and Services Logs→Microsoft→Windows→Hyper-V-Compute→Admin - Observe Event ID 11001 with
(0xC037010D, 'Invalid JSON document '$'')
Claude Model
None
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
1.3109.0 (35cbf6) — Claude Desktop for Windows (MSIX: Claude_1.3109.0.0_x64__pzs8sxrjxfjjc). N/A for Claude Code CLI — this is a Cowork / Desktop bug; see Additional Information.
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
Other
Additional Information
Related issues
Related but distinct from #45937, #46093, #48007 — this report includes the actual HCS error code and strongly suggests a template substitution bug in cowork-svc.
Environment
- OS: Windows 11 Business (x64)
- Claude Desktop version: 1.3109.0 (35cbf6)
- Plan: Max
- Install: MSIX (
Claude_1.3109.0.0_x64__pzs8sxrjxfjjc) - Account: Personal, Max plan (same account on mobile)
- Features enabled:
Microsoft-Hyper-V-All,HypervisorPlatform,VirtualMachinePlatform— all confirmed Enabled;HyperVisorPresent: True - Services running:
CoworkVMService(Automatic, Running),HvHost(Running)
Troubleshooting performed (none resolved the issue)
- Full Claude Desktop quit and relaunch (multiple)
- Full Windows reboot (multiple, including after each feature change)
- Mobile app force-quit, sign-out, sign-back-in (same account confirmed)
- Enabled
HypervisorPlatform(was Disabled) — no effect - Enabled
Microsoft-Hyper-V-All(was Disabled) —CoworkVMServiceregistered and started, but HCS calls still fail with the above CoworkVMServiceconfirmed Running,cowork-svc.exerunning as child ofClaude.exeHypervisorPresent: TrueviaGet-ComputerInfo- DNS + TCP 443 to
api.anthropic.comsucceed - Tested on home WiFi and mobile hotspot — same failure
- No VPN, no corporate proxy, no AV quarantine events
- Dispatch Settings: Keep awake ON, Allow all browser actions ON, Computer use enabled
Analysis / suggested root cause
The HCS error payload being literally $ strongly implies a shell-style or template-style placeholder (e.g. $VMSpec, $CONFIG_JSON) is being passed through to HcsCreateComputeSystem / HcsModifyComputeSystem without interpolation. Possible causes:
- Environment variable expected by
cowork-svcis not set in the MSIX-packaged service environment - Template file with unresolved placeholder is being read and submitted as-is
- String formatter (e.g. Go
os.Expand, PowerShell template) failed silently and emitted only the sigil
The fact that this affects Windows-only and has been consistent for at least 4 days suggests it's a regression in a recent Windows build of cowork-svc.exe or a config/template file that ships with it.
Version
1.3109.0 (35cbf6)
---
_Note on form fields: this is a Claude Desktop / Cowork bug on Windows, so "Claude Code Version", "Platform", and "Terminal/Shell" don't cleanly apply — values populated best-effort. Filing here per precedent (#49514, #48683, #43907)._
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗