[BUG] Cowork ECONNRESET on macOS (Mac Mini M4) — VM boots fine, API never responds through MITM proxy

Resolved 💬 3 comments Opened Feb 24, 2026 by aicbrahul Closed Feb 27, 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?

[BUG] Cowork ECONNRESET on macOS (Mac Mini M4) — VM boots fine, API never responds through MITM proxy

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report
  • [x] I am using the latest version of Claude Code

Environment

  • Device: Mac Mini M4
  • CPU: Apple M4
  • RAM: 16GB
  • macOS: 26.3 (kernel 25.3.0)
  • Claude Desktop: 1.1.4088 (production, commit 7e63fd, 2026-02-23)
  • VM Bundle: fb30784dadb34104626c8cf6d8f90dd47cd393cc (version 1.1.4088)
  • SDK: 2.1.49
  • Architecture: arm64
  • No VPN, no firewall, no proxy

What's Wrong?

Cowork always fails with:

This task didn't load properly
API Error: Unable to connect to API (ECONNRESET)

Regular Chat mode works perfectly. Only Cowork is broken.

The task never produces any output. The process runs for exactly ~188 seconds (retrying the first API call), never gets a response, and is then killed. Every single attempt follows this exact pattern.

Key Diagnostic Findings

The VM boots and connects fine

All startup steps complete successfully:

VM startup step: vm_boot completed (108ms)
VM startup step: guest_vsock_connect completed (4386ms)
VM startup step: static_ip_assignment completed (0ms)
VM startup step: guest_ready completed (208ms)
VM startup step: install_ca_certificates completed  ← 155 certs installed
VM startup step: sdk_install completed (185ms)
API reachability: REACHABLE

But the first API call never succeeds

From the error metadata:

had_first_response: false
seconds_to_outcome: 188
cycle_health: unhealthy
unhealthy_reason: api_error
error_message: API Error: Unable to connect to API (ECONNRESET)
is_recoverable: false
was_killed: true

The process retries for ~188 seconds, never gets a single response, and is then killed with SIGTERM.

Host connectivity is verified

curl -v -X POST https://api.anthropic.com/v1/messages from the host works instantly (gets 401 with test key, confirming full TLS + HTTP/2 connectivity). The host has multiple healthy ESTABLISHED TCP connections to 160.79.104.10:443.

MITM proxy starts but connections fail through it

The coworkd log shows the MITM proxy starts normally:

[proxy] generating ephemeral CA certificate (private key in memory only)
[proxy] ephemeral CA generated (expires: 2027-02-24T07:04:50Z)
[proxy] CA certificate installed to system trust store
[proxy] MITM proxy started on /var/run/mitm-proxy.sock

OAuth token is approved with the MITM proxy:

[Spawn:vm] OAuth token approved with MITM proxy
[Spawn:vm] Spawn succeeded in 84ms

But the actual API request through the proxy never completes.

Additional finding: CA certificate issue (partially resolved)

Initially, install_ca_certificates was completing in 0ms with a warning:

[warn] Failed to query trusted certificates: -25300

Error -25300 is errSecItemNotFound. The cause was /System/Library/Keychains/SystemRootCertificates.keychain missing from the keychain search list. After adding it:

security list-keychains -s ~/Library/Keychains/login.keychain-db /Library/Keychains/System.keychain /System/Library/Keychains/SystemRootCertificates.keychain

The cert install now works (Forwarding 155 trusted CA certificates to guest, Installed 155 host CA certificates in guest), but the ECONNRESET persists. This suggests the cert issue was real but not the only problem.

Steps to Reproduce

  1. Install Claude Desktop on Mac Mini M4 (macOS 26.3)
  2. Log in with paid subscription
  3. Open Cowork tab
  4. Give any task (even "what is 2+2")
  5. Wait ~3 minutes
  6. Error appears: "This task didn't load properly — API Error: Unable to connect to API (ECONNRESET)"

Regular Chat mode works perfectly.

Expected Behavior

Cowork should connect to the API through the MITM proxy and execute tasks.

Actual Behavior

The Claude Code process inside the VM spawns successfully but cannot make any API calls through the MITM proxy. It retries for ~188 seconds, never receives a response (had_first_response: false), and is then killed. The UI shows "This task didn't load properly."

Relevant Log Excerpts

Process lifecycle (cowork_vm_node.log)

12:00:30 [Spawn:create] id=704a5792 name=bold-awesome-euler cmd=/usr/local/bin/claude
12:00:30 [Spawn:vm] OAuth token approved with MITM proxy
12:00:30 [Spawn:vm] Spawn succeeded in 84ms
12:03:35 [CoworkVMProcess:704a5792] kill called with signal: SIGTERM
12:03:35 [Process:704a5792] Exited, code=0, signal=null, duration=185797ms, oom=false

Error event (main.log)

12:03:35 [APIError] Detected SDK error type "unknown" for session local_b74609c5
  had_first_response: false
  seconds_to_outcome: 188
  unhealthy_reason: api_error
  error_message: API Error: Unable to connect to API (ECONNRESET)
  was_killed: true

What I've Already Tried

  • Updated Claude Desktop to latest version (1.1.4088)
  • Verified host can reach API (curl works perfectly)
  • Cleared Claude Desktop cache
  • Killed and relaunched Claude Desktop
  • Removed and rebuilt VM cache
  • Fixed CA certificate keychain search list (155 certs now install successfully)
  • Tested with simplest possible task ("what is 2+2")
  • Confirmed no VPN, firewall, or proxy software running
  • Confirmed macOS firewall is not blocking Claude

What Should Happen?

it doesn't even work for basic maths function like what is 2+2

Error Messages/Logs

Process lifecycle (cowork_vm_node.log)
12:00:30 [Spawn:create] id=704a5792 name=bold-awesome-euler cmd=/usr/local/bin/claude
12:00:30 [Spawn:vm] OAuth token approved with MITM proxy
12:00:30 [Spawn:vm] Spawn succeeded in 84ms
12:03:35 [CoworkVMProcess:704a5792] kill called with signal: SIGTERM
12:03:35 [Process:704a5792] Exited, code=0, signal=null, duration=185797ms, oom=false
Error event (main.log)
12:03:35 [APIError] Detected SDK error type "unknown" for session local_b74609c5
  had_first_response: false
  seconds_to_outcome: 188
  unhealthy_reason: api_error
  error_message: API Error: Unable to connect to API (ECONNRESET)
  was_killed: true

Steps to Reproduce

what is 2+2 on my new claude cowork account

Claude Model

Sonnet (default)

Is this a regression?

No, this never worked

Last Working Version

_No response_

Claude Code Version

Claude 1.1.4088 (7e63fd) 2026-02-23T21:25:53.000Z

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

Terminal.app (macOS)

Additional Information

_No response_

View original on GitHub ↗

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