[BUG] ECONNRESET in Claude Desktop in-app Claude Code, while standalone CLI works on same machine/network

Open 💬 0 comments Opened Jul 15, 2026 by rlavolee

Preflight Checklist

  • [x] I have searched existing issues (reproduces #56711 / #13657, in-app variant)
  • [x] This is a single bug report
  • [x] I am using the latest version of Claude Code (CLI 2.1.210)

What's Wrong?

Claude Code inside the Claude Desktop app fails on every prompt with:
API Error: Unable to connect to API (ECONNRESET)
Even the built-in /doctor fails with the same ECONNRESET.

On the exact same machine and network:

  • The standalone Claude Code CLI works perfectly (native install ~/.local/bin/claude, 2.1.210 via claude update).
  • Regular Claude chat / Cowork in the Desktop app works fine.
  • curl -I https://api.anthropic.com succeeds (HTTP/2, TLS OK, Cloudflare edge MRS).

Looks like the Desktop app uses its own bundled Claude Code (stuck ~2.1.138) that lacks the ECONNRESET retry fixes shipped to the CLI.

Environment

  • OS: macOS (Apple Silicon)
  • CLI: 2.1.210 native install — works
  • Desktop in-app Claude Code — fails (bundled, ~2.1.138)
  • Network: wired Ethernet (USB 10/100/1000 LAN), residential (likely PPPoE)
  • No proxy (HTTPS_PROXY/HTTP_PROXY/NODE_EXTRA_CA_CERTS unset), no VPN, no TLS-inspecting software

Steps to Reproduce

  1. Open Claude Code inside the Claude Desktop app
  2. Send any prompt (or run /doctor)
  3. Immediately fails with ECONNRESET, enters retry loop

Troubleshooting attempted (none fixed the in-app case)

  • Updated CLI to 2.1.210 (fixed CLI, not app)
  • auth logout/login, and sign out/in inside the Desktop app
  • Switched networks (4G hotspot -> wired Ethernet)
  • Lowered MTU to 1492 then 1400 (helped CLI, no effect on app)
  • Full Cmd+Q relaunch, checked for app updates
  • Clean reinstall of Claude Desktop app
  • Verified network with curl (succeeds)

Is this a regression?

Yes.

Additional note

CLI works but in-app does not -> Desktop app appears to pin an older bundled Claude Code lacking the ECONNRESET fresh-TCP-retry fix. A way to force the in-app instance to update (or use the system install) would resolve it.

View original on GitHub ↗