#web_fetch fail how to solve

1 messages · Page 1 of 1 (latest)

vocal scarab
jagged socketBOT
#

To help others find answers, you can mark your question as solved via Right click solution message -> Apps -> âś… Mark Solution

proper fiberBOT
#

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:

  1. Fetch a specific Reuters article URL, not the category landing page.
  2. If you need dynamic pages, use browser tool instead of web_fetch:
    https://docs.openclaw.ai/tools/browser
  3. For anti-bot fallback, configure Firecrawl for web_fetch:
    https://docs.openclaw.ai/tools/firecrawl
  4. Confirm tool policy allows web tools (web_fetch or group: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.

vocal scarab
#

OpenClaw 2026.3.22 (4dcc39c)

proper fiberBOT
#

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:

If your goal is Reuters content specifically, use:

vocal scarab
#

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

proper fiberBOT
#

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 issue
  • ECONNRESET / ETIMEDOUT → firewall/VPN/proxy path issue
  • CERT_* / unable to verify → TLS interception (AV/corp proxy cert problem)

Also test a neutral URL in-thread:
web_fetch https://example.com

  • If example.com works 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.

vocal scarab
#

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'
}