claude-code - 💡(How to fix) Fix [BUG] Cowork: WebFetch blocked by AllTrails edge protection (403) while Claude.ai web_fetch succeeds on same URLs [1 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#52479Fetched 2026-04-24 06:06:06
View on GitHub
Comments
1
Participants
2
Timeline
6
Reactions
0
Timeline (top)
labeled ×4commented ×1cross-referenced ×1

Error Message

Error Messages/Logs

Error responses from this session: different error, confirming the AllTrails block is NOT at the

Code Example

Error responses from this session:

AllTrails (all four URLs above):
  "Request failed with status code 403"

For comparison — attempting WebFetch on google.com returned a
different error, confirming the AllTrails block is NOT at the
Anthropic proxy:

  {
    "error_type": "EGRESS_BLOCKED",
    "domain": "www.google.com",
    "message": "Access to www.google.com is blocked by the network egress proxy."
  }

Distinction matters:
  EGRESS_BLOCKED = Anthropic's proxy refused the request
  HTTP 403       = the request reached AllTrails; AllTrails refused it

So WebFetch is being allowed out by Anthropic's proxy for
alltrails.com, but AllTrails's edge (Cloudflare) is returning 403.
Fix is in the outbound fingerprint, not the allowlist.
RAW_BUFFERClick to expand / collapse

Preflight Checklist

  • I have searched existing issues and this hasn't been reported yet
  • This is a single bug report (please file separate reports for different bugs)
  • I am using the latest version of Claude Code

What's Wrong?

WebFetch returns HTTP 403 on every alltrails.com URL I try in Cowork. The same URLs fetch cleanly in Claude.ai chat via web_fetch. Tested this session:

My network egress is set to allow all domains, so the block is upstream — AllTrails/Cloudflare is refusing the request based on user-agent or IP fingerprint, not the Anthropic proxy. This blocks a hiking-book skill that relies on AllTrails as source of truth for trail data.

What Should Happen?

WebFetch should succeed on alltrails.com URLs in Cowork and return the page contents as markdown, matching Claude.ai chat's web_fetch behavior. Same URLs, same response. The fix likely requires updating the fetch fingerprint (user-agent, TLS profile, or IP range) to whatever Claude.ai uses so Cloudflare stops blocking it.

Error Messages/Logs

Error responses from this session:

AllTrails (all four URLs above):
  "Request failed with status code 403"

For comparison — attempting WebFetch on google.com returned a
different error, confirming the AllTrails block is NOT at the
Anthropic proxy:

  {
    "error_type": "EGRESS_BLOCKED",
    "domain": "www.google.com",
    "message": "Access to www.google.com is blocked by the network egress proxy."
  }

Distinction matters:
  EGRESS_BLOCKED = Anthropic's proxy refused the request
  HTTP 403       = the request reached AllTrails; AllTrails refused it

So WebFetch is being allowed out by Anthropic's proxy for
alltrails.com, but AllTrails's edge (Cloudflare) is returning 403.
Fix is in the outbound fingerprint, not the allowlist.

Steps to Reproduce

Steps to reproduce:

  1. Start any Cowork session.
  2. Ask Claude to run WebFetch on an AllTrails URL, e.g.: https://www.alltrails.com/trail/us/maryland/kinder-farm-park-trail Prompt can be anything — I used "Extract trail name, length, elevation gain, difficulty, rating, review count."
  3. Observe: "Request failed with status code 403".
  4. Repeat for any other alltrails.com URL — same 403 every time.
  5. In a separate Claude.ai chat session, ask Claude to fetch the same URL with web_fetch.
  6. Observe: succeeds. Returns the full page as markdown, including the stat block (miles, elevation, difficulty, rating, review count).

Repro rate: 100% in Cowork, 0% in Claude.ai chat, on identical URLs.

Claude Model

Opus

Is this a regression?

I don't know

Last Working Version

No response

Claude Code Version

2.1.111

Platform

Anthropic API

Operating System

Windows

Terminal/Shell

Other

Additional Information

Cowork (Claude desktop app on Windows 11)

extent analysis

TL;DR

Update the fetch fingerprint in Cowork's WebFetch to match Claude.ai's web_fetch behavior, likely by modifying the user-agent or TLS profile.

Guidance

  • Investigate the differences in request headers, particularly the user-agent, between Cowork's WebFetch and Claude.ai's web_fetch to identify the potential cause of the 403 error.
  • Verify that the issue is not related to the network egress proxy by checking the error messages and logs, which indicate that the request is being blocked by AllTrails's edge (Cloudflare).
  • Test modifying the user-agent or TLS profile in Cowork's WebFetch to match Claude.ai's web_fetch behavior and observe if the 403 error is resolved.
  • Consider reaching out to the Anthropic API support team for guidance on updating the fetch fingerprint, as the fix may require changes to the API configuration.

Notes

The issue seems to be specific to the Cowork environment and the AllTrails domain, and the fix may require collaboration with the Anthropic API team to update the fetch fingerprint.

Recommendation

Apply a workaround by modifying the user-agent or TLS profile in Cowork's WebFetch to match Claude.ai's web_fetch behavior, as this is likely to resolve the 403 error and allow WebFetch to succeed on alltrails.com URLs.

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