[BUG] Cowork Windows - VM boots but API is UNREACHABLE (Windows 11 25H2, MSIX, Hyper-V)

Resolved 💬 2 comments Opened Feb 19, 2026 by GiuseppeR84 Closed Feb 19, 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?

<html>
<body>
<!--StartFragment--><html><head></head><body><h1>[BUG] Cowork Windows - VM boots but API is UNREACHABLE (Windows 11 25H2, MSIX, Hyper-V)</h1>
<h2>Preflight Checklist</h2>
<ul>
<li>[x] I have searched existing issues and this is related to (but not duplicate of) #24918, #24945, #25088, #25155, #25308</li>
<li>[x] This is a single bug report</li>
<li>[x] I am using the latest version of Claude Desktop</li>
</ul>
<hr>
<h2>Environment</h2>

Field | Value
-- | --
Claude Desktop | 1.1.3541.0 (MSIX package: Claude_1.1.3541.0_x64__pzs8sxrjxfjjc)
Claude Code VM SDK | 2.1.45
OS | Windows 11 25H2 (Build 10.0.26200)
CPU | Intel Core i7-8550U
RAM | ~16 GB (2.4 GB free at time of test)
Hyper-V | Enabled
VPN | None
Subscription | Pro
Installation method | MSIX (Windows Store / signed package)

<hr>
<h2>What's Wrong?</h2>
<p>Cowork fails to reach the Claude API on every startup attempt. The VM boots successfully, reports <code>Network status: CONNECTED</code>, but API reachability consistently goes <code>PROBABLY_UNREACHABLE</code> → <code>UNREACHABLE</code>.</p>
<p>This reproduces <strong>100% of the time</strong> across multiple restarts and app reinstalls.</p>
<p>Regular Chat mode works perfectly. Only Cowork is affected.</p>
<hr>
<h2>Root Cause (confirmed via PowerShell diagnostics)</h2>
<p>The HNS NAT network <code>cowork-vm-nat</code> is created, but:</p>
<ol>
<li><strong>No WinNAT rule exists</strong> — <code>Get-NetNat</code> returns empty</li>
<li><strong>IP Forwarding is disabled</strong> on <code>vEthernet (cowork-vm-nat)</code> for both IPv4 and IPv6</li>
</ol>
<p>Without a WinNAT rule and with forwarding disabled, the VM can reach the host but has no route to the internet.</p>
<p>The host machine can reach <code>api.anthropic.com</code> correctly on both IPv4 and IPv6:</p>
<ul>
<li>IPv4: <code>160.79.104.10</code></li>
<li>IPv6: <code>2607:6bc0::10</code></li>
<li><code>Test-NetConnection api.anthropic.com -Port 443</code> → <code>TcpTestSucceeded: True</code></li>
</ul>
<hr>
<h2>Diagnostic Output</h2>
<h3>HNS Networks</h3>
<pre><code>Name : Default Switch
Type : ICS
Subnets : AddressPrefix=172.21.0.0/20, GatewayAddress=172.21.0.1

Name : cowork-vm-nat
Type : NAT
Subnets : AddressPrefix=172.16.0.0/24, GatewayAddress=172.16.0.1
</code></pre>
<h3>WinNAT Rules</h3>
<pre><code>Get-NetNat → (empty — no WinNAT rule configured)
</code></pre>
<h3>IP Forwarding on cowork-vm-nat</h3>
<pre><code>InterfaceAlias AddressFamily Forwarding
vEthernet (cowork-vm-nat) IPv6 Disabled
vEthernet (cowork-vm-nat) IPv4 Disabled
</code></pre>
<h3>HNS Endpoint (DNS)</h3>
<pre><code>Name : cowork-vm-eth0
IPAddress : 172.16.0.152
GatewayAddress : 172.16.0.1
DNSServerList : 192.168.1.1

Name : cowork-vm-eth0
IPAddress : 172.16.0.133
GatewayAddress : 172.16.0.1
DNSServerList : 192.168.1.1
</code></pre>
<p>DNS appears correctly inherited from the active adapter (192.168.1.1). The DNS issue reported in #25088 and #24962 does <strong>not</strong> apply here — the failure is the missing WinNAT rule and disabled forwarding.</p>
<h3>Log excerpt (cowork_vm_node.log)</h3>
<pre><code>2026-02-19 10:49:21 [info] [VM:start] Configuring Windows VM service...
2026-02-19 10:49:23 [info] [VM:start] Windows VM service configured
2026-02-19 10:49:41 [info] [VM] Network status: NOT_CONNECTED
2026-02-19 10:49:43 [info] [VM] Network status: CONNECTED
2026-02-19 10:49:44 [info] [VM:steps] sdk_install started
2026-02-19 10:49:44 [info] [VM:start] Installing SDK: version=2.1.45
2026-02-19 10:49:48 [info] [VM] API reachability: PROBABLY_UNREACHABLE
2026-02-19 10:49:50 [info] [VM:steps] sdk_install completed (6784ms)
2026-02-19 10:49:50 [info] [VM:start] Startup complete, total time: 53803ms
2026-02-19 10:50:12 [info] [VM] API reachability: UNREACHABLE
2026-02-19 10:50:12 [warn] [VM:network] API is unreachable
2026-02-19 10:52:44 [warn] [Keepalive] Ping failed: Keep-alive ping timed out
</code></pre>
<h3>Additional note from log</h3>
<p>At 10:26, the app attempted to copy <code>smol-bin.x64.vhdx</code> from a <strong>previous version</strong> (<code>Claude_1.1.3363.0</code>), despite the installed version being <code>1.1.3541.0</code>. At 10:49 this resolved correctly to <code>Claude_1.1.3541.0</code>. Logging for reference in case it is relevant.</p>

<h2>Related Issues</h2>
<ul>
<li>#24918 — Day 1 Windows issue, Windows 11 Home</li>
<li>#24945 — VM boots but API unreachable, Windows 11 24H2</li>
<li>#25088 — Wrong DNS (different root cause, DNS is correct in my case)</li>
<li>#25155 — Missing WinNAT rule, same root cause as this report</li>
<li>#25308 — Same pattern, Windows 11</li>
</ul>
<p>This issue persists on Claude Desktop <strong>1.1.3541.0</strong>, confirming the bug has not been fixed in the latest MSIX release as of 2026-02-19.</p></body></html><!--EndFragment-->
</body>
</html>

What Should Happen?

<h2>What Should Happen</h2>
<p>The app should create both the HNS network <strong>and</strong> a corresponding WinNAT rule (<code>New-NetNat</code>), and enable IP forwarding on <code>vEthernet (cowork-vm-nat)</code>. The VM should then be able to reach <code>api.anthropic.com</code> through the host's internet connection.</p>
<hr>

Error Messages/Logs

API Error: Unable to connect to API (ECONNRESET)

Steps to Reproduce

<hr>
<h2>Steps to Reproduce</h2>
<ol>
<li>Install Claude Desktop MSIX (<code>1.1.3541.0</code>) on Windows 11 25H2 with Hyper-V enabled</li>
<li>Sign in with a Pro subscription</li>
<li>Navigate to the Cowork tab</li>
<li>Observe: VM downloads, boots, reaches <code>Network status: CONNECTED</code></li>
<li>Observe: API reachability fails — <code>PROBABLY_UNREACHABLE</code> → <code>UNREACHABLE</code></li>
<li>Verify in admin PowerShell: <code>Get-NetNat</code> returns empty; <code>Get-NetIPInterface -InterfaceAlias "vEthernet (cowork-vm-nat)"</code> shows <code>Forwarding=Disabled</code></li>
</ol>
<hr>

Claude Model

Sonnet (default)

Is this a regression?

No, this never worked

Last Working Version

_No response_

Claude Code Version

1.1.3541.0

Platform

Anthropic API

Operating System

Windows

Terminal/Shell

PowerShell

Additional Information

_No response_

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗