claude-code - 💡(How to fix) Fix Claude Code web sandbox proxy allowlist blocks user-owned custom domains [2 comments, 2 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
anthropics/claude-code#52982Fetched 2026-04-25 06:15:34
View on GitHub
Comments
2
Participants
2
Timeline
7
Reactions
0
Timeline (top)
labeled ×5commented ×2

Every new Claude Code web session spins up a fresh sandbox with an Anthropic-managed proxy allowlist. User-owned custom domains (including subdomains of domains the user demonstrably controls, like cc.tacticalmarketingpro.com) are not on the allowlist, which breaks any workflow where the session needs to reach the user's own hosted tooling.

Root Cause

  • #52543 — similar shape, specific-domain allowlist addition for web sandbox (readwise.io, podwise.ai)
  • #41565 — configurable allowlist, but scoped to remote triggers
  • #41741 — WebFetch blocked by egress proxy for custom domains (related root cause)

Fix Action

Fix / Workaround

In my workflow, this affects a "Start Connection" protocol that fetches current project state from a self-hosted dashboard at cc.tacticalmarketingpro.com. Every new session has to use a workaround path (SSH into the VM and curl localhost instead) which:

  • Adds friction to every session start
  • Isn't discoverable — new users would just see "navigate failed" without understanding why
  • Silently blocks an entire class of workflows (any user-hosted internal tooling)

Workaround I currently use

RAW_BUFFERClick to expand / collapse

Summary

Every new Claude Code web session spins up a fresh sandbox with an Anthropic-managed proxy allowlist. User-owned custom domains (including subdomains of domains the user demonstrably controls, like cc.tacticalmarketingpro.com) are not on the allowlist, which breaks any workflow where the session needs to reach the user's own hosted tooling.

Repro

  1. Open a new Claude Code web session (claude.ai/code or equivalent)
  2. Have the session attempt to reach a user-owned domain, for example via the Chrome browser tool: navigate to https://cc.tacticalmarketingpro.com
  3. Network request fails at the sandbox proxy layer (not at DNS, not at the remote server — the request never leaves the sandbox)

Expected: the request reaches the user's own domain. Actual: the request is blocked by the proxy.

Impact

In my workflow, this affects a "Start Connection" protocol that fetches current project state from a self-hosted dashboard at cc.tacticalmarketingpro.com. Every new session has to use a workaround path (SSH into the VM and curl localhost instead) which:

  • Adds friction to every session start
  • Isn't discoverable — new users would just see "navigate failed" without understanding why
  • Silently blocks an entire class of workflows (any user-hosted internal tooling)

Two possible fixes

Short-term (unblocks me specifically): Add cc.tacticalmarketingpro.com to the web sandbox allowlist.

Long-term (fixes the category): Let users declare additional allowlisted domains at the project or session level — for example, a setting in ~/.claude/settings.json or a per-project .claude/allowed-hosts.json that extends the default allowlist with user-owned domains. Happy to help spec this if useful.

Workaround I currently use

SSH to the VM that hosts my dashboard and curl localhost instead of hitting the public URL. Works, but every new session has to remember to take this path, and it only covers the "read state" case — anything that actually needs the public URL (webhooks, OAuth callbacks, UI verification) still breaks.

Environment

  • Claude Code web (every new session reproduces)
  • User-owned domain: cc.tacticalmarketingpro.com
  • DNS and TLS both work correctly from outside the sandbox (site is reachable on the public internet)

Related

  • #52543 — similar shape, specific-domain allowlist addition for web sandbox (readwise.io, podwise.ai)
  • #41565 — configurable allowlist, but scoped to remote triggers
  • #41741 — WebFetch blocked by egress proxy for custom domains (related root cause)

Happy to provide more detail if helpful.

extent analysis

TL;DR

Add user-owned domains to the Anthropic-managed proxy allowlist to resolve the issue.

Guidance

  • Identify the specific user-owned domains that need to be accessed within the Claude Code web session.
  • Consider implementing a short-term fix by adding the required domains (e.g., cc.tacticalmarketingpro.com) to the allowlist.
  • Explore a long-term solution by introducing a configurable allowlist feature, allowing users to declare additional domains at the project or session level.
  • Review related issues (#52543, #41565, #41741) to understand similar problems and potential solutions.

Example

No code snippet is provided as the issue is related to configuration and infrastructure rather than code.

Notes

The solution may require coordination with the Anthropic team to update the allowlist or implement a configurable allowlist feature.

Recommendation

Apply a workaround by adding required domains to the allowlist, as a long-term solution may require significant development and testing efforts.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING