#web_fetch not working since update 2026.2.3

1 messages · Page 1 of 1 (latest)

brittle ploverBOT
#

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

charred gullBOT
#

Need the exact error text to be sure (there are a few different failure modes). Can you paste:

  1. openclaw --version
  2. The error you see when it tries to call web_fetch (either in chat or in the Gateway logs)

Meanwhile, here are the common causes after an update and how to fix each:

1) Tool allowlist blocked it (most common)

If you see something like “tool web_fetch is not allowed”, your config has a tool allowlist and web_fetch isn’t included.

Fix (in ~/.openclaw/openclaw.json):

{
  tools: {
    allow: ["group:web"] // or explicitly: ["web_fetch", "web_search"]
#
  }
}

If you run group chats in Docker/sandbox mode, also ensure the sandbox tool list includes it:

{
  tools: {
    sandbox: {
      tools: ["group:web"]
    }
  }
}
#

3) You’re trying to fetch JS-heavy sites (x.com is one)

If your “it doesn’t work” is specifically that x.com returns a useless page / “something went wrong”: web_fetch does not run JavaScript, so some sites just won’t be extractable.

Fix: use the Browser tool for those pages instead of web_fetch.
Docs: https://docs.openclaw.ai/tools/browser

4) Proxy env vars / “fetch failed”

If the error is literally fetch failed and you’re behind a proxy (HTTP_PROXY / HTTPS_PROXY / ALL_PROXY set for the gateway), that’s been a recurring breakage area across versions.

In that case, please paste whether you have proxy env vars set for the gateway process, and I’ll tell you the safest workaround for your setup.


Paste (1) version + (2) the exact error string and I’ll point you at the right fix immediately.

high comet
#

latest version 2026.2.3 + " I don’t have a web_fetch tool in this runtime"

charred gullBOT
#

That error message is actually very specific: the Gateway didn’t even register web_fetch as an available tool for this session, so it’s not an API key / Brave issue.

In practice it’s almost always one of these:

1) Your tool allowlist (or sandbox tool list) excludes web tools

Check what you have:

openclaw config get tools.allow
openclaw config get tools.sandbox.tools

If either of those exists, make sure it includes web_fetch (or the group group:web).

Example config:

#
{
  tools: {
    allow: ["group:web"],        // or: ["web_fetch", "web_search"]
    sandbox: { tools: ["group:web"] }
  }
}

Docs: https://docs.openclaw.ai/tools/web (see the allowlist note)

2) web_fetch is disabled in config

Verify:

openclaw config get tools.web.fetch.enabled
#

If it’s false, set it back:

openclaw config set tools.web.fetch.enabled true

FAQ: https://docs.openclaw.ai/help/faq#how-do-i-enable-web-search-and-web-fetch

3) You’re on 2026.2.3 and think it’s “latest”

It isn’t the newest build anymore, and there have been multiple web/proxy/SSRF-guard fixes since then. So after you fix the allowlist/enablement, I’d still update to openclaw@latest and restart the gateway.


If you paste the output of:

#
openclaw config get tools

(you can redact keys/tokens), I can tell you exactly which line is causing web_fetch to be missing and what to change without guesswork.

high comet
#

I just did openclaw config set tools.web.fetch.enabled true and it did something but still cant use it in chat after the restart

openclaw config get tools

🦞 OpenClaw 2026.3.2 (85377a2) — Your second brain, except this one actually remembers where you left things.

{
"profile": "messaging",
"web": {
"fetch": {
"enabled": true
}
}
}

charred gullBOT
#

Your config output explains it:

{
  "profile": "messaging",
  "web": { "fetch": { "enabled": true } }
}

tools.profile: "messaging" is a base tool allowlist, and it does not include web_fetch — so even though you enabled tools.web.fetch.enabled, the tool still won’t exist “in this runtime”, hence:

“I don’t have a web_fetch tool in this runtime”

Docs (tool profiles): https://docs.openclaw.ai/tools#tool-profiles-base-allowlist

Fix (pick one)

#

Option A: simplest — switch to full tools

openclaw config set tools.profile full
openclaw gateway restart

Then in Discord, start a fresh session so the tool list refreshes:

  • send /new in the chat

Option B: safer — enable web tools, but keep everything else restricted

If you only want web tools (not exec/browser/fs/etc), do:

openclaw config set tools.profile full
openclaw config set tools.allow '["web_fetch","web_search"]' --strict-json
openclaw gateway restart
#

Then /new in Discord.

(Reason: profiles apply first; allow/deny can only further restrict after that, so you need a permissive base profile if you want web_fetch at all.)


If after that you still don’t see it, paste:

openclaw config get tools.profile
openclaw config get tools.allow
openclaw config get agents.defaults.tools.profile
openclaw config get agents.list

(redact keys), because an agent-level tools.profile can override the global one.

high comet
#

Fixed it. Thanks