OpenClaw has tightened an important diagnostic path for automatic web search.
PR #132755, titled fix(web-search): report the first error when every provider fails, merged on September 11th at 07:55 UTC. The change preserves the first provider failure after OpenClaw exhausts all eligible automatic web-search fallbacks.
Before this fix, operators could see the last fallback’s error when every provider failed. That could point them toward the wrong root cause. If Brave failed first and SearXNG failed second, the final diagnostic could emphasize SearXNG even though the first selected provider was the more useful place to start.
What Changed
The shared search executor now retains the first failure while continuing to try eligible fallback providers. It tracks failure presence separately from the thrown value, so unusual cases such as null or undefined rejections are still preserved.
The PR says existing Error objects remain intact, including their causes. That is useful because provider errors often carry nested context that tells an operator whether the failure is network-level, authentication-related, rate-limited, malformed, or service-side.
Importantly, the change does not remove fallback behavior. If the first provider fails and a later provider succeeds, OpenClaw still returns the successful normalized results. Explicit provider selection also keeps its current shape: the selected provider runs without automatic fallback.
Operator Impact
This fix is mainly about reducing diagnostic noise. When all automatic web-search providers fail, the first selected provider’s failure is often the most relevant signal because it reflects the primary path OpenClaw chose.
The expected behavior now is:
- Automatic fallback still proceeds after the first provider fails.
- Successful fallback still returns normal search results.
- All-provider failure reports the first provider error in operator diagnostics.
- Explicit provider selection does not add fallback attempts.
- Missing-query validation and cancellation behavior remain unchanged.
- The HTTP tool endpoint keeps its opaque external error response.
That last point matters. OpenClaw is improving authenticated operator logs without turning tool responses into a place where private provider details leak to ordinary callers.
Validation
The PR describes an isolated built Gateway test through authenticated POST /tools/invoke and logs.tail, using real Brave and SearXNG HTTP clients pointed at synthetic local endpoints.
The reported matrix covers Brave failing with a 503, SearXNG failing with a 502, successful fallback, explicit provider failure, missing-query rejection, caller cancellation, and endpoint privacy. Nine focused executor cases passed after the repair, along with 98 existing runtime and provider-error controls.
The regression coverage also checks first Error identity and cause preservation, string and nullish rejections, mixed structured and thrown errors, unavailable factories, and cancellation precedence.
Why It Matters
Web search is often a supporting tool, but when it fails it can interrupt work far beyond search itself. Agents may depend on search for source verification, current documentation, product data, and external context. If every provider fails, the diagnostic should describe the failure path clearly.
OpenClaw’s change makes that failure mode easier to debug while keeping the user-facing boundary quiet. It is a small executor fix with a practical operations payoff: better first-cause reporting when the entire automatic provider chain goes down.