Models that “can think” have a switch for it in Ollama. This series has had it off from the start and said so in every post: measured with thinking mode disabled. That sounded like a clean caveat. It assumes, though, that the switch does what its name says.
The result in one sentence: the switch does not decide whether the model thinks, but where the thinking gets written — and on three of fifteen models it writes it nowhere at all.
What was measured
Ollama reports each model’s capabilities. Everything reporting thinking was measured — fifteen models on rulestation, twelve on CT 1100. One task with exactly one correct solution: four talks across four time slots, four constraints, and the last line must read ERGEBNIS: 9=…; 10=…; 11=…; 12=…. Two runs per model, fixed seed, once with think=false, once with think=true. Nothing else changed.
The reassuring part first: all fifteen models solve the task correctly in both positions — 9=A; 10=C; 11=D; 12=B. And the twelve models present on both machines return 22 of 22 cell pairs byte-identical. So what follows is not drift.
The classification was fixed before the data
- NO EFFECT — output byte-identical with and without the switch. It does nothing for this model.
- DISPLAY ONLY — same token count (less than 2 per cent apart), different text. The model thinks just as much; the switch only moves it.
- EFFECTIVE — token count differs by at least 2 per cent.
The 2 per cent threshold was set beforehand so rounding noise could not pass as an effect. In hindsight it turns out generous: the smallest deviation actually measured is 16 per cent.
Three behaviours, not one
1. The answer field collapses to a single line
On five models the answer shrinks, with the switch on, to exactly 31 characters — the result line and nothing else. The reasoning has not vanished; it sits in the separate thinking field the API returns alongside.
| Model | answer field think=false | answer field think=true |
|---|---|---|
deepseek-r1:14b | 2069 characters | 31 |
qwen3:14b | 1870 characters | 31 |
qwen3:8b | 1527 characters | 31 |
laguna-xs-2.1-stop | 1519 characters | 31 |
Here is what that looks like. qwen3:8b with the switch off, abridged:
Wir suchen eine Zuordnung der Vorträge A, B, C, D zu den Zeitfenstern 9, 10, 11, 12 Uhr,
sodass alle Bedingungen erfüllt sind.
[…]
✅ **Alle Bedingungen erfüllt.**
### ERGEBNIS: 9=A; 10=C; 11=D; 12=B
The same model with the switch on — the complete answer field:
ERGEBNIS: 9=A; 10=C; 11=D; 12=B
This is the practically most important finding of the whole test. Read the answer the way most code does — take the response field and display it — and on these models, with thinking enabled, you get one line and no reasoning at all, with nothing to tell you that a second field was there to be read.
2. It is written down nowhere
On three models the thinking field stays empty with the switch on — and the answer field changes anyway:
| Model | think=false | think=true | thinking field |
|---|---|---|---|
qwq:32b | 5060 characters | 3948 | empty |
ornith-abliterated:35b | 1978 characters | 4994 | empty |
qwen3.6-abliterated-max:35b | 3921 characters | 8220 | empty |
qwq:32b is the uncomfortable case: the answer gets 16 per cent shorter and the thinking field holds nothing. The difference surfaces nowhere. The two versions are identical up to character 549 and then part ways — it is not the same reasoning trimmed, it is a different one.
Noticed in passing, in both positions: qwq:32b ends its reasoning with </think> without a <think> ever having been opened. A lone closing tag in the middle of the text. Build a parser on that and you are splitting on a marker that is not really there.
3. The switch does nothing
For huihui_ai/qwen3-vl-abliterated:30b-a3b-Thinking the outputs with and without the switch are byte-identical — on both machines. The same holds on CT 1100 for the 8B build of that model. Both answer with the same single line either way and put their reasoning in the thinking field whether you ask for it or not.
And the rest
On the remaining models the switch bites as expected, some of them hard: glm-4.7-flash +336 per cent tokens, huihui gemma-4-abliterated +178, gemma4:26b +124, qwen3:8b +108, ornith:35b +105. For these, “measured with thinking mode disabled” is exactly what it sounds like.
The tally across fifteen models: on thirteen the switch bites, on one it does nothing, on one the run says nothing at all — more on that shortly. Of the thirteen, one is established only in direction: qwen3.6-abliterated-max:35b ran into the generation limit with the switch on, so its +82 per cent is a lower bound, not a measurement.
Three mistakes of my own
The first has been sitting in fourteen posts since 2 August. The correction notice there cites two number pairs as evidence: gemma4:26b 562 → 2716 tokens and qwen3:8b 730 → 1276. Recomputed, the two halves of each pair come from different tasks: 562 is the scheduling task, 2716 the logic puzzle; 730 is the invoice, 1276 the scheduling task again. What belongs side by side is what shares a prompt. The correct figures are 562 → 1261 (scheduling) and 730 → 1448 (invoice). The claim in the notice is unaffected — the switch does bite on both models — but the numbers next to it were paired wrong.
The second is the ordering inside the bench. It measures think=false first and think=true second, per model, after a fresh load. As shown in the previous part, the first run on a prompt deviates systematically — so here the switch is entangled with position. That can be quantified: the position effect moved token counts by one per cent (503 against 508, 716 against 723). The smallest deviation counted as an effect here is 16 per cent. The confound is real and too small to matter for this result. Measuring both positions behind a warm-up run would still be the cleaner way.
The third concerns laguna-xs-2.1. The bench files it as “display only” — same token count, different text. But the same token count here is 3000 against 3000: twice the generation limit. Both runs were truncated. For this model the test says nothing, and the classification is a number wearing the costume of a result. The same limit clips qwen3.6-abliterated-max:35b on one side, where the direction survives and the magnitude does not. It is the same class of error as in the previous part, and for the second time I caught it while recomputing rather than while reading the log. The log never mentions done_reason. That gets fixed in the bench, not in the article.
The switch depends on the prompt, not only the model
The finding that surprised me most. On the older task set — invoice, scheduling, extraction, logic puzzle, three seeds each — the outputs of qwq:32b with and without the switch are byte-identical in 12 of 12 cells. For the three other models measured there: 0 of 12. On the scheduling task in this test, qwq very much does change.
So “the switch does nothing for qwq” is not a property of the model but an observation about one prompt. That is how it reads here, and that is how it should have read from the start.
What this does not show
- One task is one task. The paragraph above is the proof that this is not boilerplate: the same model behaves differently on a different prompt.
- One run per position. No repetition, so nothing about how stable a single measurement is. Irrelevant for the large deviations, not for narrow ones.
laguna-xs-2.1is unevaluated (both runs truncated), and the model selection rests on what Ollama reports asthinking— not on what a model can actually do.- Measured with a fixed seed at
temperature 0, Ollama 0.32.5, two RTX 3090.
The hardware, and the rules every measurement on this site follows, are on How I Measure.
What I take from it
If you build a thinking-capable model into something, read both fields — response and the thinking field. Otherwise, on a third of the models tested here, enabling the switch hands you a bare result line and you take it for the answer. This is not an edge case: it affects deepseek-r1, qwen3:8b, qwen3:14b and laguna-xs-2.1-stop.
And for this series: “measured with thinking mode disabled” is not a formula you can staple under every post. It holds for twelve of the fifteen models. For one it is moot, for two it is unsupported, and for qwq:32b it depends on the task. A caveat added by reflex, never once tested, is not diligence — it only looks like it.