-
-
Notifications
You must be signed in to change notification settings - Fork 69.4k
[Bug]: web_search tool not available to agent despite correct configuration #51937
Description
Bug type
Regression (worked before, now fails)
Summary
Brave Search plugin loads successfully and registers web-search: brave capability, but the web_search tool does not appear in the agent's available tools list.
Steps to reproduce
Start openclaw with the following config for web_search tool. API key properly configured (but redacted below):
{
"tools": {
"web": {
"search": {
"enabled": true,
"provider": "brave"
}
}
},
"plugins": {
"enabled": true,
"allow": ["", "imessage", "bluebubbles", "brave"],
"entries": {
"brave": {
"enabled": true,
"config": {
"webSearch": {
"apiKey": "<redacted>"
}
}
}
}
}
}Expected behavior
web_search should appear in the agent's tool list and be callable.
Actual behavior
Tool is not available. Agent reports:
"The web_search tool isn't showing up in my available tools yet. I can see web_fetch (for extracting content from known URLs) and browser (for automation), but no search capability."
OpenClaw version
2026.3.14 (which is newer than npm latest (2026.3.13) -- possible edge/dev build?
Operating system
macOS 26.3
Install method
docker via OrbStack
Model
anthropic/claude-sonnet 4.5
Provider / routing chain
openclaw via dashboard chat; on dedicated local machine via SSH tunnel
Additional provider/model setup details
No response
Logs, screenshots, and evidence
# Plugin Status:
$ docker exec openclaw-gateway node openclaw.mjs plugins list | grep -i brave
│ Brave Plugin │ brave │ openclaw │ loaded │ stock:brave/index.ts │ 2026.3.14 │
│ │ │ │ │ Bundled Brave plugin │ │
# One potentially suspicious log entry (but unknown to me if this mode in fact prevents tool exposure):
$ openclaw logs 2>&1 | grep -B 5 "Capabilities:"
Version: 2026.3.14
Shape: plain-capability
Capability mode: plain
Legacy before_agent_start: no
Capabilities:
web-search: brave
# Config Reload Confirmation:
2026-03-21T17:13:47.046Z info gateway/reload {"subsystem":"gateway/reload"}
config change detected; evaluating reload (meta.lastTouchedAt, wizard.lastRunAt,
wizard.lastRunVersion, wizard.lastRunCommand, tools.web.search.apiKey, tools.web.fetch)
2026-03-21T17:13:47.062Z info gateway/reload {"subsystem":"gateway/reload"}
config change applied (dynamic reads: meta.lastTouchedAt, wizard.lastRunAt,
wizard.lastRunVersion, wizard.lastRunCommand, tools.web.search.apiKey, tools.web.fetch)
# No Tool Registration Errors
$ openclaw logs 2>&1 | grep -i "error.*tool\|tool.*error\|failed.*tool" | grep -v "google\|zai"
[Only unrelated memory file read errors; no web_search errors]
# No Agent Tool Policy Restrictions
$ cat /home/node/.openclaw/openclaw.json | jq '.agents.defaults.tools // empty'
No agent tool policy foundImpact and severity
Unknown, but for me the impact is great because the agent cannot utilize web search.
Additional information
Diagnosis
- ✅ Brave plugin loads successfully
- ✅ Plugin registers capability:
web-search: brave - ✅ Config has correct settings
- ✅ API key is configured
- ✅ No error logs related to web_search
- ❌ Tool does not appear in agent runtime's available tools
Gap: The capability is registered at the plugin level but not making it through to the agent tool list.
Suspicious log entry: "Shape: plain-capability" / "Capability mode: plain" — unclear if this mode prevents tool exposure.
Additional Context
- Gateway restarted multiple times (issue persists)
- Logs show unrelated plugin SDK errors for
googleandzaiextensions (missing../../src/plugin-sdk/*.jsmodules), but Brave plugin loads cleanly - Running on version 2026.3.14, which is newer than npm latest (2026.3.13) — possibly edge/dev build
Workaround Attempted
None found. Config appears correct per documentation at /app/docs/brave-search.md.
Recommended Investigation
- Check if
web_searchtool requires additional agent-level opt-in beyondtools.web.search.enabled - Verify plugin SDK build is complete for v2026.3.14
- Check if "plain-capability" mode affects tool availability
- Consider if downgrade to stable 2026.3.13 resolves the issue