[BUG] claude-code triggers TCP SYN flood to statsig.anthropic.com on connection failure, exhausting router NAT table
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?
Severity: High (Causes local network denial-of-service)
When the statsig.anthropic.com endpoint (34.36.57.103) becomes unreachable or unresponsive, the claude-code process enters an aggressive retry loop. Instead of reusing existing sockets or implementing a circuit breaker, the embedded Statsig SDK opens hundreds of new TCP connections rapidly.
Because the destination is unresponsive, these connections hang in the SYN_SENT state. This rapidly consumes the NAT table capacity of consumer routers (e.g., Google Nest WiFi), resulting in a "Network is unreachable" state for the entire local network, blocking internet access for all devices on the LAN.
What Should Happen?
The application should implement:
Connection Pooling: Reuse sockets rather than opening new ones for every retry.
Circuit Breaker: Stop outgoing requests after N consecutive failures for a cooldown period.
Concurrency Limit: Cap the maximum number of simultaneous connection attempts to the Statsig service.
Error Messages/Logs
Technical Details & Logs
OS: macOS (Darwin Kernel Version 23.x)
Router: Google Nest WiFi (Default Gateway: 192.168.86.1)
Impacted Endpoint: statsig.anthropic.com (34.36.57.103)
Evidence from netstat -rn (Routing Table): Shows default gateway 192.168.86.1 is present and active, but TCP fails.
Evidence from netstat (during incident):
Plaintext
Proto Recv-Q Send-Q Local Address Foreign Address (state)
tcp4 0 0 192.168.86.24.58470 34.36.57.103.443 SYN_SENT
tcp4 0 0 192.168.86.24.58471 34.36.57.103.443 SYN_SENT
... (repeating for 130+ entries) ...
Workaround Used: Killing the process and rebooting the router restored connectivity. Adding a static route to blackhole the IP prevents the flood but disables feature flags.
Steps to Reproduce
Steps to Reproduce
Launch claude-code (e.g., with --dangerously-skip-permissions).
Simulate a network partition or outage specifically for the Statsig endpoint:
Method: Block traffic to 34.36.57.103 via firewall or route add -host 34.36.57.103 127.0.0.1.
Observe network connections via netstat.
Observed Behavior
The process does not back off or fail gracefully. Instead, it spawns a massive number of concurrent TCP connections.
Process: node (Claude Code)
State: 130+ connections in SYN_SENT status targeted at 34.36.57.103.
Result: Router NAT table fills up, causing valid traffic from other applications (Chrome, system DNS) to fail with Errno 51: Network is unreachable.
Claude Model
Opus
Is this a regression?
No, this never worked
Last Working Version
_No response_
Claude Code Version
2.1.19 (Claude Code)
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
_No response_
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗