[BUG] Cowork mode: WebFetch egress proxy blocks most websites (Facebook, Netlify, etc.) AND Chrome extension fails to connect — no fallback path to view any web content
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?
<h3 class="text-text-100 mt-2 -mb-1 text-base font-bold">Bug Description</h3>
<p class="font-claude-response-body break-words whitespace-normal leading-[1.7]">Cowork mode's WebFetch tool is blocked by the egress proxy on <strong>most websites</strong> — not just niche domains, but major platforms like Facebook, Netlify app deployments, and others. The <code class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]">EGRESS_BLOCKED</code> error fires broadly, making Cowork unable to read web content that both <strong>Claude Chat</strong> and <strong>Claude Code CLI</strong> handle without issue.</p>
<p class="font-claude-response-body break-words whitespace-normal leading-[1.7]">The natural fallback — <strong>Claude in Chrome</strong> browser extension — also fails to connect in Cowork. The setup prompt appears but the connection never establishes, returning <code class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]">"Claude in Chrome is not connected"</code>.</p>
<p class="font-claude-response-body break-words whitespace-normal leading-[1.7]"><strong>These two independent failures combine to make Cowork effectively unable to access the web at all.</strong></p>
<h3 class="text-text-100 mt-2 -mb-1 text-base font-bold">Tested Examples</h3>
<div class="overflow-x-auto w-full px-2 mb-6">
URL | WebFetch Result | Chrome Extension
-- | -- | --
facebook.com | ❌ EGRESS_BLOCKED | ❌ Not connected
*.netlify.app (user-deployed sites) | ❌ EGRESS_BLOCKED | ❌ Not connected
(likely many more) | ❌ EGRESS_BLOCKED | ❌ Not connected
</div>
<h3 class="text-text-100 mt-2 -mb-1 text-base font-bold">Steps to Reproduce</h3>
<ol class="[li_&]:mb-0 [li_&]:mt-1 [li_&]:gap-1 [&:not(:last-child)_ul]:pb-1 [&:not(:last-child)_ol]:pb-1 list-decimal flex flex-col gap-1 pl-8 mb-3">
<li class="whitespace-normal break-words pl-2">Open Cowork mode in Claude Desktop</li>
<li class="whitespace-normal break-words pl-2">Ask Claude to fetch any commonly used website (Facebook, a Netlify-deployed site, etc.)</li>
<li class="whitespace-normal break-words pl-2">WebFetch returns <code class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]">EGRESS_BLOCKED</code> error: <code class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]">"Access to [domain] is blocked by the network egress proxy."</code></li>
<li class="whitespace-normal break-words pl-2">Ask Claude to try via Chrome extension instead</li>
<li class="whitespace-normal break-words pl-2">Chrome extension returns <code class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]">"Claude in Chrome is not connected"</code></li>
<li class="whitespace-normal break-words pl-2">User is completely stuck — no path to view web content</li>
</ol>
<h3 class="text-text-100 mt-2 -mb-1 text-base font-bold">Expected Behavior</h3>
<p class="font-claude-response-body break-words whitespace-normal leading-[1.7]">Cowork should be able to access publicly available websites, at minimum matching the capability of Claude Chat (which fetches URLs with no restrictions). The Chrome extension should connect reliably as a fallback, matching Claude Code CLI behavior.</p>
<h3 class="text-text-100 mt-2 -mb-1 text-base font-bold">Environment</h3>
<ul class="[li_&]:mb-0 [li_&]:mt-1 [li_&]:gap-1 [&:not(:last-child)_ul]:pb-1 [&:not(:last-child)_ol]:pb-1 list-disc flex flex-col gap-1 pl-8 mb-3">
<li class="whitespace-normal break-words pl-2"><strong>Claude Desktop:</strong> Latest version (March 2026)</li>
<li class="whitespace-normal break-words pl-2"><strong>Plan:</strong> Max</li>
<li class="whitespace-normal break-words pl-2"><strong>OS:</strong> (fill in your OS)</li>
<li class="whitespace-normal break-words pl-2"><strong>Chrome:</strong> (fill in your version — go to chrome://version)</li>
</ul>
<h3 class="text-text-100 mt-2 -mb-1 text-base font-bold">Impact</h3>
<p class="font-claude-response-body break-words whitespace-normal leading-[1.7]">This is a <strong>fundamental capability gap</strong> that makes Cowork the least capable Claude product for any task involving web content, despite being positioned as the most feature-rich.</p>
<h3 class="text-text-100 mt-2 -mb-1 text-base font-bold">Suggested Fix</h3>
<ol class="[li_&]:mb-0 [li_&]:mt-1 [li_&]:gap-1 [&:not(:last-child)_ul]:pb-1 [&:not(:last-child)_ol]:pb-1 list-decimal flex flex-col gap-1 pl-8 mb-3">
<li class="whitespace-normal break-words pl-2"><strong>Expand the egress proxy allowlist</strong> — The current blocklist is too aggressive. Publicly accessible websites (especially major platforms and user-deployed sites) should not be blocked. Match the URL fetching capability of Claude Chat.</li>
<li class="whitespace-normal break-words pl-2"><strong>Fix Chrome extension connection in Cowork</strong> — The Claude in Chrome extension connects fine via Claude Code CLI (<code class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]">claude --chrome</code>) but fails in Cowork. These should use the same connection path.</li>
<li class="whitespace-normal break-words pl-2"><strong>At minimum, provide a clear error message</strong> — When WebFetch is blocked AND Chrome is unavailable, tell the user explicitly instead of failing silently on Chrome.</li>
</ol>
<hr class="border-border-200 border-t-0.5 my-3 mx-1.5">
<p class="font-claude-response-body break-words whitespace-normal leading-[1.7]"><em>Reported from Cowork session, March 16, 2026. Tested live with multiple domains.</em></p>
What Should Happen?
Cowork should be able to access publicly available websites. At minimum it should match Claude Chat's URL fetching capability. The Chrome extension should connect reliably as a fallback, matching Claude Code CLI behavior with claude --chrome.
Error Messages/Logs
WebFetch error:
{"error_type":"EGRESS_BLOCKED","domain":"animated-dusk-d9080a.netlify.app","message":"Access to animated-dusk-d9080a.netlify.app is blocked by the network egress proxy."}
Chrome extension error:
"Claude in Chrome is not connected. The user was prompted to set up the Chrome extension but dismissed the dialog."
Steps to Reproduce
- Open Cowork mode in Claude Desktop
- Ask Claude to fetch any website (e.g. https://animated-dusk-d9080a.netlify.app/ or https://facebook.com)
- WebFetch returns EGRESS_BLOCKED
- Ask Claude to try via Chrome extension instead
- Claude in Chrome returns "not connected" — setup prompt appears but connection never establishes
- No alternative path exists to view any web content
Claude Model
Opus
Is this a regression?
No, this never worked
Last Working Version
_No response_
Claude Code Version
2.1.45 (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 ↗