claude-code - 💡(How to fix) Fix [BUG] Dispatch offline on Windows — cowork-svc sends invalid JSON (unsubstituted $ template) to HCS, VM never boots (v1.3109.0) [2 comments, 2 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
anthropics/claude-code#50417Fetched 2026-04-19 15:20:25
View on GitHub
Comments
2
Participants
2
Timeline
5
Reactions
0
Author
Timeline (top)
labeled ×3commented ×2

Error Message

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.

Error Messages/Logs

18/04/2026 10:39:36 PM Error 11001 Invalid JSON document '$' 18/04/2026 10:32:36 PM Error 11001 Invalid JSON document '$' 18/04/2026 10:17:05 PM Error 11001 Invalid JSON document '$' 18/04/2026 10:06:51 PM Error 11001 Invalid JSON document '$' 14/04/2026 2:59:45 PM Error 11001 Invalid JSON document '$' 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. 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:

Root Cause

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-svc is 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

Fix Action

Fix / Workaround

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.

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").

Code Example

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).
RAW_BUFFERClick to expand / collapse

Preflight Checklist

  • I have searched existing issues and this hasn't been reported yet
  • This is a single bug report (please file separate reports for different bugs)
  • 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

  1. Install Claude Desktop v1.3109.0 on Windows 10 Pro with Hyper-V fully enabled
  2. Sign in, enable Dispatch, toggle Keep awake + computer use
  3. Send any message from the Dispatch tab
  4. Observe "Desktop appears offline" in the UI
  5. Open Event Viewer → Applications and Services LogsMicrosoftWindowsHyper-V-ComputeAdmin
  6. 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) — CoworkVMService registered and started, but HCS calls still fail with the above
  • CoworkVMService confirmed Running, cowork-svc.exe running as child of Claude.exe
  • HypervisorPresent: True via Get-ComputerInfo
  • DNS + TCP 443 to api.anthropic.com succeed
  • 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-svc is 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).

extent analysis

TL;DR

The most likely fix is to identify and resolve the template substitution issue in cowork-svc.exe that is causing an unsubstituted $ to be sent to the Windows Host Compute Service (HCS), resulting in an invalid JSON document error.

Guidance

  1. Review cowork-svc.exe code: Investigate the code path that builds the VM spec JSON to identify where the template variable is not being interpolated.
  2. Check environment variables: Verify that all required environment variables are set in the MSIX-packaged service environment and are accessible to cowork-svc.exe.
  3. Inspect template files: Examine any template files used by cowork-svc.exe to ensure that they do not contain unresolved placeholders.
  4. Test string formatting: Validate that string formatting functions (e.g., Go os.Expand, PowerShell template) are working correctly and not silently failing.

Example

No specific code snippet can be provided without access to the cowork-svc.exe source code. However, the issue may be related to a line of code similar to:

vmSpec := "{\"name\":\"$VMSpec\"}"

which should be replaced with the actual value of $VMSpec.

Notes

The root cause of the issue is likely a regression in a recent Windows build of cowork-svc.exe or a config/template file that ships with it. The fact that this affects Windows-only and has been consistent for at least 4 days suggests a specific problem with the Windows implementation.

Recommendation

Apply a workaround by manually setting the required environment variables or modifying the template files to remove any unresolved placeholders, until a fixed version of cowork-svc.exe is released.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING