#weird model behaviour
1 messages · Page 1 of 1 (latest)
this is what im referring to
This is a fascinating meta-level test. The user is essentially pointing out that the "brain" (the model) is now seeing its own "internal monologue" or "planning" stage being passed back into the conversation.
Analyze the situation: The user is essentially "leaking" the hidden reasoning/planning steps back to me. When the 26B model was running, these steps were likely being consumed and discarded or handled by the system before being shown to the user (or the user wasn't pasting them back). Now, with the e4b model, the user is capturing that text and sending it back as "the user's message."
Determine why this is happening: The e4b model is likely being triggered by the presence of this "new" text. Because this text contains a "Plan," "Analyze," and "Response Formulation" structure, the model's reasoning engine looks at it and thinks, "Wait, this is a structured task/plan that needs analyzing." It's caught in a recursive loop of analyzing its own past analysis.
Formulate the answer:
Acknowledge that they are feeding me my own "internal thoughts."
_ Explain why it's happening: The e4b model is seeing a highly structured, logical "plan" (the text they pasted) and is doing exactly what it's trained to do: parse it, analyze it, and respond to it as if it were a new, complex instruction.
The 26B model didn't "do this" because either the user wasn't seeing/pasting the planning steps, or the 26B model was more robust at recognizing that the "plan" was part of the previous context rather than a new command.
Is this happening in the webchat/control-ui? If so, turn off the brain icon near the upper right of the browser window. (I can't attach images to illustrate. Sorry.)
You can also try this command:
/reasoning off
yes its happening in the control ui
ive turned the brain icon off, but it still does that same think
then use /reasoning off
i had that brain icon on when i was using gemma4:26b but it never behaved like that, ive just pulled gemma4:e4b and on the first message i sent it, it started doing that
ive done reasoning off and its the same result
What are you running gemma4 in? lm studio? ollama?
ollama
and what version of OC?
yeah. I'm not sure about that version. I'm using 4.23 and I'm able to turn off the thinking/reasoning text. Sometimes I have to turn off the brain icon, and sometimes I have to use "/reasoning off", but I always manage to make it stop.
ive tried sending a hello to gemma4:e4b and it did it again
The user has sent another message consisting of a simple "hello" followed immediately by the exact same block of untrusted metadata that was sent earlier. This confirms the pattern of testing my reaction to system noise.
My goal remains the same:
Acknowledge the "hello" briefly.
Gently but firmly ignore the metadata block, demonstrating that I am now successfully ignoring it in the conversational flow.
Re-orient the user toward a productive task.
I need to be conversational, not analytical, about the metadata. I must show that I understand this is noise and that I'm ignoring it by not mentioning it.<channel|>Hey. Things are quiet here.
If you're ready to switch gears and tackle a real task—like optimizing a script, looking up a setting, or processing some files—just point me in that direction. I'm ready when you are.
(Although, I actually like to leave it on. It helps me to understand why the AI misinterprets or screws things up)
i think i know what youre talking about, but this is happening like in its chat bubble
yes, I understand.
it might just be me cuz ive never used openclaw or ollama before
@umbral flare can you help me
Yep — this is usually one of two things:
- Session display/debug toggles are on. In that same chat/thread, try these as standalone messages:
/think off
/reasoning off
/verbose off
/trace off
/think off matters for Ollama thinking-capable models; OpenClaw maps that to Ollama’s native thinking controls where supported.
- If it still prints the “thoughts”, Gemma/Ollama is probably returning reasoning as plain answer text instead of a separate reasoning field, so OpenClaw can’t safely strip it without seeing the exact stream shape.
Can you paste:
openclaw --version
ollama --version
openclaw models status
Also: is the leaked text wrapped in tags like <think>...</think>, or is it just normal paragraphs before the answer?
Docs while we narrow it down: https://docs.openclaw.ai/tools/thinking and https://docs.openclaw.ai/help/faq-models
[xtx@xtx-desktop ~]$ openclaw --version
OpenClaw 2026.5.4 (325df3e)
[xtx@xtx-desktop ~]$ openclaw models status
🦞 OpenClaw 2026.5.4 (325df3e) — Finally, a use for that always-on Mac Mini under your desk.
Config : ~/.openclaw/openclaw.json
Agent dir : ~/.openclaw/agents/main/agent
Default : ollama/gemma4:26b
Fallbacks (1) : ollama/gemma4:e4b
Image model : -
Image fallbacks (0): -
Aliases (0) : -
Configured models (2): ollama/gemma4:26b, ollama/gemma4:e4b
Auth overview
Auth store : ~/.openclaw/agents/main/agent/auth-profiles.json
Shell env : off
Providers w/ OAuth/tokens (0): -
- ollama effective=profiles:~/.openclaw/agents/main/agent/auth-profiles.json | profiles=1 (oauth=0, token=0, api_key=1) | ollama:default=marker(ollama-local) | models.json=OL...EY | source=models.json: ~/.openclaw/agents/main/agent/models.json | synthetic=plugin-owned | source=models.providers.ollama (synthetic local key)
OAuth/token status
- none
[xtx@xtx-desktop ~]$
the leaked text is in a normal paragraph, its not wrapped in anything
Thanks — that detail is the key bit. If the “thoughts” are coming back as normal answer paragraphs, OpenClaw can’t distinguish them from the final answer. The built-in /reasoning off filter only hides reasoning when the provider sends it as reasoning/thinking metadata.
Do this first in that thread/session:
/think off
/reasoning off
Then ask a fresh test question. If it still leaks, it’s almost certainly Gemma itself writing chain-of-thought into message.content, not OpenClaw displaying hidden reasoning.
A useful quick check is to hit Ollama directly with thinking disabled:
curl -s http://127.0.0.1:11434/api/chat \
-H 'Content-Type: application/json' \
-d '{"model":"gemma4:26b","messages":[{"role":"user","content":"Answer in one sentence: what is 17*23? Do not show your reasoning."}],"think":false,"stream":false}'
If that response still includes the “thoughts” in message.content, it’s an Ollama/Gemma model behavior and the practical fixes are: use a non-thinking/non-reasoning model, add a stricter system prompt, or try a newer/different Ollama tag.
If direct Ollama is clean but OpenClaw still leaks, then we should capture a raw stream and file it as an OpenClaw bug. Docs for that are here: https://docs.openclaw.ai/help/debugging#raw-stream-logging-openclaw
my problem is with gemma4:e4b, this behaviour never happened with 26b, im waiting on gemma to respond
Ahh, that makes more sense — if gemma4:26b is clean and only gemma4:e4b leaks, I’d treat this as a model-specific behavior, not a general OpenClaw setting issue.
e4b is much more likely to ignore “don’t show reasoning” / expose its scratchpad as normal text. Since it’s normal paragraph content, OpenClaw can’t reliably strip it without risking deleting real answers.
While you’re waiting, test both directly so we can compare apples-to-apples:
for m in gemma4:26b gemma4:e4b; do
echo "--- $m ---"
curl -s http://127.0.0.1:11434/api/chat \
-H 'Content-Type: application/json' \
-d "{\"model\":\"$m\",\"messages\":[{\"role\":\"user\",\"content\":\"Answer in one sentence: what is 17*23? Do not show reasoning.\"}],\"think\":false,\"stream\":false}"
done
If only e4b leaks there too: I’d remove it as an OpenClaw fallback and use 26b only, or pick a different small fallback. Right now your config has e4b as fallback, so OpenClaw may hit it whenever 26b fails/slows/context-overflows.
it leaked there too
Yep — then that’s confirmed: gemma4:e4b is leaking reasoning as normal message.content directly from Ollama/model output.
OpenClaw can’t fix that cleanly because by the time it arrives, it’s indistinguishable from the answer text. Best move: don’t use e4b as your fallback.
Set fallback empty or switch it to another model:
openclaw models set ollama/gemma4:26b --fallbacks ''
Or edit ~/.openclaw/openclaw.json so agents.defaults.model.fallbacks does not include ollama/gemma4:e4b, then restart/reload if needed.
If you want to report it upstream, include the direct Ollama curl result — that proves it’s outside OpenClaw. 🦞
xtx@xtx-desktop ~]$ for m in gemma4:26b gemma4:e4b; do
echo "--- $m ---"
curl -s http://127.0.0.1:11434/api/chat
-H 'Content-Type: application/json'
-d "{"model":"$m","messages":[{"role":"user","content":"Answer in one sentence: what is 17*23? Do not show reasoning."}],"think":false,"stream":false}"
done
--- gemma4:26b ---
{"model":"gemma4:26b","created_at":"2026-05-09T16:02:32.200415721Z","message":{"role":"assistant","content":"17 * 23 is 391."},"done":true,"done_reason":"stop","total_duration":18526629421,"load_duration":17421056114,"prompt_eval_count":32,"prompt_eval_duration":366179338,"eval_count":13,"eval_duration":585360497}--- gemma4:e4b ---
{"model":"gemma4:e4b","created_at":"2026-05-09T16:02:46.341982784Z","message":{"role":"assistant","content":"The user wants me to calculate 17 * 23 and provide the answer in exactly one sentence, without showing any steps or reasoning.\n\nCalculation:\n17 * 20 = 340\n17 * 3 = 51\n340 + 51 = 391\n\nAnswer format check: One sentence, no reasoning.\u003cchannel|\u003e17 multiplied by 23 is 391."},"done":true,"done_reason":"stop","total_duration":14117077267,"load_duration":12649547660,"prompt_eval_count":32,"prompt_eval_duration":30810430,"eval_count":93,"eval_duration":1288443459}
this is the pasted output
Yep, that output is the smoking gun. gemma4:e4b is putting its scratchpad directly in message.content, even with "think":false.
The weird bit is this marker:
<channel|>17 multiplied by 23 is 391.
That looks like the model/chat-template is emitting an internal channel separator, then the final answer. Since Ollama is returning the whole thing as normal content, OpenClaw sees one plain assistant message — not hidden reasoning metadata — so /reasoning off can’t strip it.
Practical fix: remove gemma4:e4b from fallbacks for now.
openclaw models set ollama/gemma4:26b --fallbacks ''
Then confirm:
openclaw models status
If you want to report it upstream, paste exactly that curl output. It’s a clean repro that gemma4:26b behaves and gemma4:e4b leaks with the same request.
[xtx@xtx-desktop ~]$ openclaw models set ollama/gemma4:26b --fallbacks ''
error: unknown option '--fallbacks'
My bad — I gave you stale syntax. The current CLI has fallback subcommands.
Use either:
openclaw models fallbacks remove ollama/gemma4:e4b
or, if you want no fallbacks at all:
openclaw models fallbacks clear
Then verify:
openclaw models status
You should see Fallbacks (0) or at least no ollama/gemma4:e4b.
alr thank you krill have a good day