#web_fetch not working since update 2026.2.3
1 messages · Page 1 of 1 (latest)
Need the exact error text to be sure (there are a few different failure modes). Can you paste:
openclaw --version- 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"]
}
}
}
Docs: https://docs.openclaw.ai/tools/web
2) web_fetch is disabled in config
If you see “web_fetch disabled”, make sure you didn’t turn it off:
{
tools: {
web: {
fetch: { enabled: true }
}
}
}
FAQ section: https://docs.openclaw.ai/help/faq#how-do-i-enable-web-search-and-web-fetch
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.
latest version 2026.2.3 + " I don’t have a web_fetch tool in this runtime"
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.
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
}
}
}
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
/newin 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.
Fixed it. Thanks