Strands Agents: 400 Failed to deserialize the JSON body ... unknown variant 'web_search' on Bedrock Mantle...

Using the Strands Agents harness (@strands-agents/cli 0.1.0) with a Bedrock Mantle OpenAI model such as bedrock-mantle/openai.gpt-6-astra, any web search triggered a hard 400 from Mantle: the tools schema only accepts 'function' or 'mcp', but the harness injected a native { type: 'websearch' } tool. The root cause was hasWebSearch() returning true for bedrock-mantle openai.gpt-5. / gpt-6- models, so resolveModel added the unsupported native tool. On top of that, setting builtinTools.websearch to "exa" explicitly was ignored, so users had no way around the 400. Seen on Node.js 26.x / macOS with harness 0.1.0.

This was a real bug, fixed in the harness in PR #4489. The fix stops sending the unsupported native websearch tool to Bedrock Mantle models and makes an explicit websearch: "exa" selection correctly override native search, with cross-SDK (TypeScript/Python) regression tests and updated docs. If you hit the 400, update to a harness version containing #4489; there was no clean workaround before the fix since the explicit "exa" selection was being ignored. Source: https://github.com/strands-agents/harness-sdk/issues/4480