MCP connections return 503 DNS cache overflow from sandbox egress proxy (web/mobile)
Description
MCP tool connections from Claude Code web/mobile sessions fail with HTTP 503. The TLS certificate on the connection reveals traffic is being intercepted by Anthropic's own egress proxy (sandbox-egress-production TLS Inspection CA), and the HTTP response body is DNS cache overflow. The upstream MCP server (AWS Lambda function URL) is confirmed healthy and returns correct responses when accessed directly.
Steps to reproduce
- Configure an MCP server using a Lambda function URL (or any external HTTPS endpoint)
- Connect via Claude Code web or mobile
- Observe 503 responses from MCP tool calls
Expected behavior
MCP calls reach the upstream server and return valid responses.
Actual behavior
HTTP 503 with body DNS cache overflow returned by the sandbox egress proxy before the request reaches the upstream server.
Evidence
< HTTP/2 503
< content-type: text/plain
DNS cache overflow
* SSL cert issuer: O=Anthropic; CN=sandbox-egress-production TLS Inspection CA
Impact
All MCP servers requiring outbound HTTPS are broken from web/mobile Claude Code. Claude Code desktop CLI is unaffected (bypasses the sandbox proxy and connects directly).
Environment
- Claude Code web/mobile (sandbox-hosted)
- MCP transport: Streamable HTTP
- Upstream: AWS Lambda function URL (us-east-2)
- Source IP: 160.79.106.35
7 Comments
Adding a CLI repro that contradicts the issue body's claim that \"Claude Code desktop CLI is unaffected (bypasses the sandbox proxy and connects directly).\"
Repro
CLAUDECODE=1,CLAUDE_CODE_ENTRYPOINT=cli, version 2.1.119.uv run scripts/run_tests.py --tier long --env prod --workers 4) that fires parallelrequests.postcalls. ~40 tests over ~10 minutes.503 Service Unavailablewith bodyDNS cache overflowon outbound HTTPS calls.Two different upstreams, identical failure body
The same
503body comes back from two completely unrelated services within the same run:Confirmed origin-side that neither service emits this:
studio.trelis.comresolves directly to a Hetzner static IP (no Cloudflare/CDN in front). The stringDNS cache overflowis not in our codebase or our nginx container, and origin nginx/app logs show zero 503s during the failure windows.DNS cache overflowbody either.Frequency and severity
Recurring on the test cron, getting more severe with parallelism:
| Date | Tests failing with this 503 | Workers |
|---|---|---|
| 2026-04-17 | 16 | 4 |
| 2026-04-21 | 3 | 4 |
| 2026-04-22 | 30/40 | 4 |
| 2026-04-24 | 5 | 4 |
Severity tracks parallelism + run length. Sibling tests on the same endpoint pass moments later, so the cache clears within seconds.
Real-world cost
We spent multiple sessions diagnosing this as a server-side issue (and shipped a closed-then-reopened-then-closed PR + a closed-as-duplicate-of-#716 issue) before noticing the failure body literally never appears in our infra logs. The error is opaque to both humans and to the agent because:
x-deny-reason, customserver, etc.) flagging the response as sandbox-originated.Concrete asks
claude-code-sandbox: DNS cache overflowso users / agents can grep their way out of the misdiagnosis.--workers 4with mostly-stable hostnames (the R2 account-ID subdomain is constant — it's not a unique-hostname flood).For traceability: we closed our internal investigation as Trelis-LTD/studio#827 (
not_planned) and Trelis-LTD/studio#863 (PR closed) once we identified this as the sandbox proxy.Same issue for me. It appears intermittent as some earlier requests in the same session run worked.
Note I am running in a Claude Code cloud env that has full network access.
Here's the result of me responding to the Claude Code Routine session and asking it to test Google as well:
I got the same problem on web sandboxed with turso urls outside mcp. Can't really see a clear pattern, except that it does not seem to affect more well known hosts. Otherwise the issue would be more well known.
edit: for me, all runs since 30 April have been stable. This is for requests to turso
Adding to this - we have also observed this exact error on multiple occasions. Seems to come and go.
Some days are particularly bad, we're unable to get requests through maybe 80%+ of the time.
Closing for now — inactive for too long. Please open a new issue if this is still relevant.
I haven't noticed the issue in over a month, so wondering if Anthropic actually fixed it and decided not to say something
This issue has been automatically locked since it was closed and has not had any activity for 7 days. If you're experiencing a similar issue, please file a new issue and reference this one if it's relevant.