#web_fetch fail how to solve
1 messages · Page 1 of 1 (latest)
That URL is a classic web_fetch trap — Reuters category pages are JS-heavy + bot-protected.
I just tested it: request returns 200, but extraction only gets the generic Reuters “Information you can trust” block (not the AI headlines). So this is usually site/extraction behavior, not your setup failing.
Try this:
- Fetch a specific Reuters article URL, not the category landing page.
- If you need dynamic pages, use browser tool instead of
web_fetch:
https://docs.openclaw.ai/tools/browser - For anti-bot fallback, configure Firecrawl for
web_fetch:
https://docs.openclaw.ai/tools/firecrawl - Confirm tool policy allows web tools (
web_fetchorgroup:web):
https://docs.openclaw.ai/tools/web-fetch
Also, for quick triage in case it’s a real runtime issue, paste:
pnpm openclaw --version
pnpm openclaw status --all
and I’ll pinpoint it fast.
If this fixed it, please mark the solution (right-click message → Apps → ✅ Mark Solution) so Answer Overflow can index it.
OpenClaw 2026.3.22 (4dcc39c)
Nice — 2026.3.22 is recent, so this isn’t the old-version issue 👍
For that exact Reuters category URL, thin/empty extraction is still expected (JS + bot protection).
If you’re seeing a hard error (not just weak content), send these next:
pnpm openclaw status --all
pnpm openclaw logs --follow
Then trigger web_fetch once and paste the first error line from logs.
Also check your tool policy if you use allowlists:
- must include
web_fetchorgroup:web - docs: https://docs.openclaw.ai/tools/web-fetch
If your goal is Reuters content specifically, use:
- direct article URLs, or
- browser tool / Firecrawl fallback
https://docs.openclaw.ai/tools/browser
https://docs.openclaw.ai/tools/firecrawl
09:19:16 tools: web_fetch failed stack:
TypeError: fetch failed
at node:internal/deps/undici/undici:13510:13
at processTicksAndRejections (node:internal/process/task_queues:105:5)
at fetchWithSsrFGuard (file:///C:/Users/dad/AppData/Roaming/npm/node_modules/openclaw/dist/fetch-guard-BH3MjZoA.js:132:21)
at runWebFetch (file:///C:/Users/dad/AppData/Roaming/npm/node_modules/openclaw/dist/pi-embedded-CzQCqSlH.js:126229:18)
at execute (file:///C:/Users/dad/AppData/Roaming/npm/node_modules/openclaw/dist/pi-embedded-CzQCqSlH.js:126413:22)
at execute (file:///C:/Users/dad/AppData/Roaming/npm/node_modules/openclaw/dist/pi-embedded-CzQCqSlH.js:126923:20)
at Object.execute (file:///C:/Users/dad/AppData/Roaming/npm/node_modules/openclaw/dist/pi-embedded-CzQCqSlH.js:126757:11)
at Object.execute (file:///C:/Users/dad/AppData/Roaming/npm/node_modules/openclaw/dist/pi-embedded-CzQCqSlH.js:179199:15)
at executePreparedToolCall (file:///C:/Users/dad/AppData/Roaming/npm/node_modules/openclaw/node_modules/@mariozechner/pi-agent-core/src/agent-loop.ts:517:18)
at executeToolCallsParallel (file:///C:/Users/dad/AppData/Roaming/npm/node_modules/openclaw/node_modules/@mariozechner/pi-agent-core/src/agent-loop.ts:423:20)
09:19:16 [tools] web_fetch failed: fetch failed
Perfect — this stack is useful.
TypeError: fetch failed here means it died at the network layer (Undici) before web_fetch could even parse content.
So this is not the “Reuters JS page extracted poorly” case — this is connectivity/TLS/DNS on that machine.
Quick isolate (Windows):
node -e "fetch('https://www.reuters.com/technology/artificial-intelligence/').then(r=>console.log('status',r.status)).catch(e=>{console.error('name:',e.name);console.error('message:',e.message);console.error('cause:',e.cause);process.exit(1)})"
curl.exe -I https://www.reuters.com/technology/artificial-intelligence/
And in OpenClaw:
pnpm openclaw doctor
pnpm openclaw status --all
What to look for:
ENOTFOUND/EAI_AGAIN→ DNS issueECONNRESET/ETIMEDOUT→ firewall/VPN/proxy path issueCERT_*/unable to verify→ TLS interception (AV/corp proxy cert problem)
Also test a neutral URL in-thread:
web_fetch https://example.com
- If
example.comworks but Reuters fails → Reuters/network edge blocking. - If both fail → local network/proxy/TLS setup issue.
Paste the cause: line from that Node test and I’ll give you the exact fix path.
it is my network issue
message: fetch failed
cause: ConnectTimeoutError: Connect Timeout Error (attempted addresses: 199.59.149.207:443, 2001::d368:a027:443, timeout: 10000ms)
at onConnectTimeout (node:internal/deps/undici/undici:2602:28)
at Immediate._onImmediate (node:internal/deps/undici/undici:2568:35)
at process.processImmediate (node:internal/timers:485:21) {
code: 'UND_ERR_CONNECT_TIMEOUT'
}