/Signal

Until this week, seeing what a reasoning model was actually thinking meant one of two things: paying for a vendor dashboard, or squinting at a summary the vendor decided to show you. That changed quietly. LLM 0.32 now prints a model's reasoning traces directly to your terminal.

The release notes call it "the most significant new version of LLM since the initial launch of the project." The headline feature is exactly the one that matters to you if you run agents: when you point LLM at a reasoning model, it "displays their reasoning traces to standard error, so you can see what they are 'thinking' without that information being included in the standard" output.

Read that carefully, because the plumbing detail is the whole point. The reasoning goes to standard error, and the answer goes to standard output. Those are two separate streams. So you can watch the model's thought process scroll by on your screen while the clean final answer still pipes cleanly into a file or another program. You get the show without polluting the result.

The same day, the llm-anthropic plugin shipped substantial updates of its own, extending the same treatment to Anthropic's models. This is not a one-vendor trick. It is becoming a default expectation of the tooling layer.

The rest of the release rounds out the toolkit: server-side provider tools, redesigned content-addressable SQLite logs, new models, and features built on the OpenAI Responses API. Useful. But the reasoning traces are the thing that changes your relationship with the machine.

/Framework

The useful lens here is the Trust Boundary Model: find every place where data crosses from one level of trust to another, because those are the places you inspect.

When you ask a reasoning model to do something, there has always been a boundary you could not see across. You send a prompt in. A polished answer comes out. Everything in between (the model deciding what the question really meant, which facts to pull, which path to abandon) happened on the far side of a wall. You trusted the output because you had no way to check the work.

LLM 0.32 moves the wall. The reasoning trace is now on your side of the boundary, in your terminal, on your machine. You are no longer trusting a vendor's summary of what the model did. You are reading the model's own step-by-step, streamed as it happens.

This matters more for agents than for one-off questions. An agent chains many model calls together, and when one goes wrong, the failure is usually upstream of the visible output. The model misread the task three steps ago and confidently built on the mistake. Without traces, you see only the wrong final answer and guess. With traces, you watch the exact sentence where the reasoning went off the rails.

The Feynman Technique says the gaps that appear when you explain something simply are the ones worth closing. Reasoning traces do that automatically. When you can read the model narrate its own logic in plain language, the gap between what you assumed it knew and what it actually did becomes visible. That gap is where your agent's bugs live.

/Analysis

Let me walk you through what this actually looks like, and what will trip you up.

When you run a reasoning model through LLM 0.32, two streams come back. The reasoning trace prints to standard error. The final answer prints to standard output. On a normal terminal both show up on screen, mixed together, and that is fine for reading. The gotcha is what happens when you start piping.

Say you redirect the answer to a file to save it. The reasoning will not follow it there, because reasoning lives on standard error and your redirect only captured standard output. That is by design, and it is the good kind of design: your saved answer stays clean, free of the model's messy internal monologue. But the first time you do it, you will panic that the reasoning "disappeared." It did not. It went to your screen while the answer went to the file. If you want to capture the reasoning too, you have to redirect standard error deliberately.

This separation is the feature, not a quirk. It means you can build an agent workflow where the final answer flows cleanly into the next step, and the reasoning is available for inspection without ever contaminating the data. You get to debug and automate at the same time, which usually you have to choose between.

Now the bigger shift. For most of the last two years, if you used a reasoning model through a chat interface, the vendor showed you a summary of the reasoning, or hid it entirely and told you to trust the answer. That summary was a product decision, not the raw truth. What LLM 0.32 surfaces is the actual trace the model emitted, not a curated retelling of it.

Why does the tooling layer keep converging on this? Look at the release cadence across the ecosystem. On the same two days, the llm-anthropic plugin shipped its own major update, and frameworks like pydantic-ai pushed a v2.24.0 release with provider-level fixes to timeout and tool-name handling. The plumbing that connects models to your work is being hardened everywhere at once, and visibility into the model's process is part of that hardening. This is the Harness Hypothesis in action: the value is not in the model, it is in the harness that connects the model to your world. A harness you can see through is worth more than one you cannot.

Here is the practical payoff for you as an agent user. The next time your agent produces a confident answer that is subtly wrong, you no longer have to reverse-engineer the failure from the output alone. You can re-run the step and read the reasoning. You will often find the mistake stated plainly, in the model's own words, several lines before the answer appeared. That is the difference between debugging by guessing and debugging by reading.

The habit worth building: treat the reasoning trace as a first-class artifact. When an agent surprises you, good or bad, read the trace before you touch the prompt. Half the time the fix is obvious once you can see the thinking.

/Counterpoint

The strongest objection: a reasoning trace is not the same as the reasoning. Researchers have argued for a while that what a model emits as its "thinking" is itself generated text, not a faithful transcript of the computation that produced the answer. A model can write a tidy chain of logic and then give an answer that does not follow from it. So watching the trace could give you false confidence that you understand the machine when you do not.

That is real, and you should hold it. A trace is evidence, not proof. Treat it the way you would treat a colleague explaining their work out loud: usually illuminating, occasionally a post-hoc story.

But the objection argues for less visibility only if the alternative were better. It is not. The alternative was a vendor-written summary of the trace, which adds a second layer of interpretation on top of an already-imperfect one. Raw traces are closer to the source than curated ones. And in practice, when an agent fails, the trace very often does contain the mistake in plain sight. Imperfect visibility beats none. You just have to read it as a lead, not a verdict.

/Sources

/Key Takeaways

  1. LLM 0.32 prints reasoning traces to standard error and final answers to standard output, so you can watch the model think without contaminating your saved results.
  2. The separation is a feature: pipe the answer to a file and the reasoning stays on screen. It will look like it vanished the first time. It didn't.
  3. For agents, traces turn debugging-by-guessing into debugging-by-reading. Read the trace before you touch the prompt.
  4. Raw traces are closer to the truth than vendor-curated summaries, but treat them as evidence, not proof. A model can narrate one logic and answer another.
  5. The whole tooling layer is hardening at once. Visibility into the model's process is becoming a default expectation of the harness, not a premium add-on.