I have openclaw connected to local Ollama and recently tried to change hte model. Now when I send requests, I see in Ollama logs it is returning 400 to openclaw. Howeber openclaw doesn't log what the 400 response is. I have console logs and verbose logging but can not seem to get any output on what the response is/why it's 400ing. I am trying to use ollama/translategemma:12b.
Solution
Yes — but only as a “text-only” model.
OpenClaw assumes it can send a tool schema (
tools
tools
,
tool_choice
tool_choice
, etc). If the Ollama model doesn’t advertise
tools
tools
capability, Ollama commonly replies 400 when it sees those fields.
Two implications:
1) Auto-discovery will hide it(OpenClaw filters Ollama models to tool-capable ones). 2) If you force it, you must disable tools for that model(then it can’t browse/write files/run exec/etc while using it).
Config pattern that usually fixes the 400
Add the model explicitly and deny tools for that provider/model: