#V2026.4.22 Ollama Gemini3 Flash Preview

1 messages · Page 1 of 1 (latest)

glass mist
#

Hi,
I'm running the latest version of OpenClaw on my VPS. Yesterday I added Ollama Gemini 3 Flash Preview as a model.

Whenever I try to actively use Gemini, I get the error:
"Invalid function call signature: parameters do not match schema"

I couldn't find any solution using the search here.
Does anyone know how to fix this or what might be causing it?

timber aspenBOT
pine sandalBOT
#

Let me check the current docs and repo notes for this exact schema error, because Gemini over Ollama has had a few sharp edges.

#

First thing, can you paste openclaw --version? “Latest” is sadly often not actually latest 🙂

That error usually means the model/backend is rejecting OpenClaw’s tool schema, not that your VPS itself is broken.

Most likely checks:

  1. Make sure you are not using Ollama’s /v1 URL
    OpenClaw’s Ollama provider wants the native Ollama API, so:

    • good: http://host:11434
    • bad: http://host:11434/v1

    The docs explicitly warn that /v1 breaks tool calling with Ollama:
    https://docs.openclaw.ai/providers/ollama

  2. If it only fails when the agent starts using tools, disable tools for that model
    The documented workaround for local/proxy backends that choke on tool schemas is:
    compat.supportsTools: false

glass mist
#

OpenClaw 2026.4.22 (00bd2cf)

"models": {
"providers": {
"ollama": {
"baseUrl": "http://127.0.0.1:11434/v1",
"apiKey": "ollama-local",
"api": "ollama"
}
}
}

2026-04-23T16:08:00.614Z warn agent/embedded {"event":"embedded_run_agent_end","isError":true,"error":"LLM request failed: provider rejected the request schema or tool payload.","failoverReason":"format","model":"gemini-3-flash-preview:cloud","provider":"ollama","rawErrorPreview":"400 {"error":"Function call is missing a thought_signature in functionCall parts. (ref: a53b5e3a-dd58-4e1a-8d55-efe2f93c0502)"}","providerRuntimeFailureKind":"schema"}

2026-04-23T16:08:03.364Z error diagnostic {"lane task error: lane=main durationMs=11510 error="FailoverError: LLM request failed: provider rejected the request schema or tool payload.""}

2026-04-23T16:08:03.366Z warn model-fallback/decision {"event":"model_fallback_decision","decision":"candidate_failed","requestedModel":"gemini-3-flash-preview:cloud","attempt":1,"total":2,"reason":"format","status":400,"errorPreview":"LLM request failed: provider rejected the request schema or tool payload.","nextCandidateModel":"qwen3.5:397b-cloud"}

Fehler-Code: 400
Fehler-Typ: schema / format
Fehlermeldung: Function call is missing a thought_signature in functionCall parts
Ergebnis: Failover zu qwen3.5:397b-cloud (Versuch 2 von 2 erfolgreich)

Zusammenfassung: Gemini 3 Flash Preview (via Ollama) erwartet ein thought_signature Feld in Function-Calls das OpenClaw nicht sendet → Schema-Validierung schlägt fehl → Fallback auf Qwen 3.5 397B.

glass mist
#

Thats my logs and errors if u have any solution to that would be great.

pine sandalBOT
#

Yep, those logs are enough. The concrete fix is:

  1. Remove /v1 from your Ollama base URL

    "baseUrl": "http://127.0.0.1:11434"
    

    not

    "baseUrl": "http://127.0.0.1:11434/v1"
    

    OpenClaw’s Ollama provider expects the native Ollama API, and /v1 is known to break tool calling.
    Docs: https://docs.openclaw.ai/providers/ollama

  2. Restart the gateway and test again

  3. If you still get the thought_signature error after that, then it’s a real Gemini-via-Ollama tool-calling compatibility issue on this version, not just bad config. In that case use one of these workarounds:

    • best: use native Google Gemini provider
#
  • or: set compat.supportsTools: false for that Ollama Gemini model
    • or: keep Gemini as chat-only and let another model handle tool turns

So, short version: your current config is definitely wrong because of /v1, and even after fixing that, Gemini Cloud through Ollama may still be shaky for tools on 2026.4.22.

If this fixes it, please right-click the solution message → Apps → ✅ Mark Solution so Answer Overflow can index it for the next person.

glass mist
#

I changed already the Baseurl to "baseUrl": "http://127.0.0.1:11434"
and set compat.supportsTools: false and the error still exist in the same way.

pine sandalBOT
#

I’m going to check one detail here, because if supportsTools: false didn’t change anything, it was probably applied at the wrong config level rather than the workaround itself being ignored.

#

Ah, then I think there’s one more gotcha here.

That specific error:

Function call is missing a thought_signature in functionCall parts

makes me suspect Gemini is choking on replayed tool-call history from the current session/thread, not just the current config.

So I’d try this in order:

  1. Fully restart the gateway
  2. Test in a brand-new thread/session, not this same one
  3. Use Gemini there and see if it still fails

Why: if this thread already contains prior tool-call turns, OpenClaw can replay them, and Gemini-via-Ollama may still reject those old functionCall parts even after you changed the config.

Also, one important config detail from the docs:

#

if you use an explicit models.providers.ollama block, the compat.supportsTools: false needs to be on the exact model entry under:

models.providers.ollama.models[]

not just on the provider root.

And with a custom Ollama provider config, OpenClaw treats that as explicit/manual model config, so the model should really be defined there too:
https://docs.openclaw.ai/providers/ollama

So my best guess now is:

  • either the current session is replaying old tool history
  • or supportsTools: false was set in a place that does not affect the resolved model

If you want, paste just your models.providers.ollama.models entry for gemini-3-flash-preview:cloud, and I’ll check whether the compat flag is actually attached to the right model.

glass mist
#

{
"id": "gemini-3-flash-preview:cloud",
"name": "gemini-3-flash-preview:cloud",
"reasoning": true,
"input": ["text", "image"],
"contextWindow": 1048576,
"maxTokens": 32768,
"compat": {
"supportsTools": false
}
}

this is the config

#

but still same issue
"error":"LLM request failed: provider rejected the request schema or tool payload."
"model":"gemini-3-flash-preview:cloud"
"rawErrorPreview":"400 {"error":"Function call is missing a thought_signature in functionCall parts."}"

pine sandalBOT
#

Yeah, at this point I’m pretty confident this is not your config anymore.

If you already:

  • removed /v1
  • retried
  • and compat.supportsTools: false still doesn’t change the outcome

then this looks like a real incompatibility/bug with gemini-3-flash-preview:cloud via Ollama on 2026.4.22.

My read is:

  • Gemini wants its thought_signature replay/function-call format
  • OpenClaw’s Ollama path is not preserving/producing that in a way this model accepts
  • so the request gets rejected before the turn can continue

So the practical answer is:

#
  1. Don’t use Gemini-via-Ollama for tool-enabled sessions right now
  2. If you want Gemini, use the native Google provider
  3. Otherwise use a different Ollama/local/cloud model for agentic/tool work

And this is now worth a GitHub issue with the logs you already collected:
https://github.com/openclaw/openclaw/issues

I’d include:

  • openclaw --version2026.4.22
  • provider config (without secrets)
  • that you changed baseUrl away from /v1
  • that compat.supportsTools: false did not help
  • the exact error:
    Function call is missing a thought_signature in functionCall parts.

So, short version: I don’t think there’s a clean user-side fix left for this combo. It looks upstream.

glass mist
#

HMm sad i hope this gets fixed soon. Gemini as Text model is awesome. anyway thx

pine sandalBOT
#

Yeah, that’s frustrating. Gemini is genuinely great for text, so I’m with you.

At least we narrowed it down to a real compatibility issue and not some cursed VPS setup 😅

If you end up filing it, those logs are already good enough for a solid issue:
https://github.com/openclaw/openclaw/issues

Glad we got to the bottom of it. If this helped, please right-click the solution message → Apps → ✅ Mark Solution so Answer Overflow can index it for the next person.