Skip to content

Cowork sessions fail with 'Connection error' - internal MITM proxy blocking api.anthropic.com #18854

@mikecfisher

Description

@mikecfisher

What's happening

Cowork sessions completely fail to work. Every time I try to use Cowork, after about 2-3 minutes of waiting, I get:

API Error: Connection error.

This happens 100% of the time. I've tried probably 15+ times over the past few days.

Environment

  • macOS (Darwin 25.2.0)
  • Claude Desktop - latest version (just updated today)
  • Claude Code SDK 2.1.8
  • No VPN running
  • macOS firewall is off
  • UniFi router with no special network security configured

What I tried

  1. Updated Claude Desktop to the latest version - no change
  2. Deleted the VM bundle (rm -rf ~/Library/Application Support/Claude/vm_bundles/) and let it re-download fresh - no change
  3. Restarted my Mac completely - no change
  4. Checked firewall settings - it's off
  5. Made sure no VPN was running - confirmed

Debugging deep dive

I spent a while digging through the logs and I think I found the actual issue.

The VM starts fine

Looking at claude_vm_node.log, the VM boots up successfully:

[VM:start] Step 4/4 complete: connected after 23 polls, 11064ms since boot
[VM:start] Installing SDK: subpath=Library/Application Support/Claude/claude-code-vm, version=2.1.8
[VM:start] SDK installed, total startup time: 85430ms

OAuth token gets approved

In claude_vm_swift.log:

[VM] OAuth token approved successfully
[VM] Process spawned: id=5e568266-79f1-4252-ac8a-d2bfd633055c name=busy-wonderful-mayer command=/usr/local/bin/claude

MCP servers connect

The session audit shows all MCP servers connecting fine:

"mcp_servers":[
  {"name":"Claude in Chrome","status":"connected"},
  {"name":"mcp-registry","status":"connected"},
  ...
  {"name":"cowork","status":"connected"}
]

Then the API call fails

After all that succeeds, the actual API call to Anthropic fails:

{"type":"assistant","message":{"content":[{"type":"text","text":"API Error: Connection error."}]},"error":"unknown"}

Found it: The MITM proxy is blocking api.anthropic.com

I ran a curl test and discovered the issue:

$ curl -v https://api.anthropic.com/v1/messages
* Uses proxy env variable https_proxy == 'http://localhost:64922'
...
< HTTP/1.1 403 Forbidden
< Content-Type: text/plain
< X-Proxy-Error: blocked-by-allowlist

The internal MITM proxy (which I confirmed is Claude Desktop itself via lsof -i :64922) is returning 403 Forbidden with X-Proxy-Error: blocked-by-allowlist when trying to connect to api.anthropic.com.

So the VM's network goes through Claude Desktop's proxy, but that proxy isn't allowing connections to the actual Anthropic API.

The blocklist is empty

I checked the extensions blocklist file and it's empty:

[{"entries":[],"lastUpdated":"2026-01-17T18:36:37.752Z",...}]

And in config.json:

"dxt:allowlistEnabled": false

What I think is happening

It looks like the VM's egress traffic goes through Claude Desktop's MITM proxy for security/isolation, but the allowlist that's supposed to permit api.anthropic.com isn't working correctly. The proxy is blocking the exact domain that Cowork needs to function.

The rest of the networking works fine - I can see in the logs that it successfully fetches from https://claude.ai/api/organizations/.../dxt/blocklist, so outbound HTTPS works in general. It's specifically api.anthropic.com that's getting blocked.

Logs

Happy to provide full logs if helpful. The relevant ones are:

  • ~/Library/Logs/Claude/main.log
  • ~/Library/Logs/Claude/claude_vm_node.log
  • ~/Library/Logs/Claude/claude_vm_swift.log
  • ~/Library/Logs/Claude/sdk_daemon.log

And the session audit files in ~/Library/Application Support/Claude/local-agent-mode-sessions/

Metadata

Metadata

Labels

area:corebugSomething isn't workinghas reproHas detailed reproduction stepsplatform:macosIssue specifically occurs on macOS

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions