Fetching from the wire…
Public story · 2026-08-05 · high
Reasoning output now streams to stderr instead of stdout, letting reasoning models run cleanly inside Unix pipes for the first time.
Why now: Willison published the 0.32 release notes on August 4.
LLM 0.32 lets tools pause mid-chain and wait for a human to approve before continuing, per Simon Willison's August 4 release notes. He's calling it the most significant version since the project launched, and Willison doesn't reach for that word lightly. For anyone wiring LLM into a script that touches real systems, that's the difference between a demo and something safe to leave unattended.
A tool can raise llm.PauseChain to stop a chain, and it resumes later from the pending call instead of replaying steps that already ran. Every call now carries a tool_call_id for tracking.
Prompts and responses are now typed Part objects, covering text, reasoning, tool calls, tool results, and attachments, with messages= replacing prompt= and system= arguments. Provider-hosted tools invoke straight from the command line, like -T WebSearch or -T 'CodeInterpreter(memory_limit="4g")', and llm tools -m MODEL lists what a given model supports.
The SQLite log behind every session now stores messages once, content-addressed by hash, instead of duplicating JSON on each append, per the release notes. A new message_tree view renders whole threads as indented outlines.
The quieter change is reasoning output moving to stderr, suppressible with -R. That's the fix Willison undersells. A reasoning model can now sit inside a chain of piped shell commands without dumping its thinking into stdout. That's what makes 0.32 worth adopting, not the approval prompts.
Each link below shares sources, entities, or timing with this story.
Simon Willison shipped it August 4, calling it the most significant release since the project launched. Companion llm-anthropic 0.26 adds Claude 5 support with server-side web search and code execution and simplifies extended-thinking configuration across variants. For scripte...
Simon Willison shipped a PauseChain exception to cleanly pause a tool chain for human approval, guaranteed unique tool_call_ids (synthesizing ULIDs when providers omit them), and resume-from-history support. He says Fable produced the API design, tests, and docs across both LL...
Simon Willison shipped 0.33 on August 22, completing the OpenAI Python 3.x migration that the emergency 0.32.1 patched a day earlier and switching from httpx to httpx2. The daily-driver change: llm -m gpt-5.6-luna -o reasoning_effort high --save lhigh then llm -t lhigh -t peli...
GPT-5.6 Luna went to $0.20 input / $1.20 output per million tokens on July 30. That's an 80% cut. Terra dropped 20%. Luna's input now undercuts Gemini 3.1 Flash-Lite ($0.25/$1.50) and sits at one-fifth of Claude Haiku 4.5's $1 input. Simon Willison covered the announcement and...
Allen Bargi's August 15 post hit 302 points arguing that AI collaboration rewards context-sharing, examples, and feedback over precise instruction (Hacker News). The pushback holds that the piece conflates management with leadership. mikeocool calls it "the most low effort ver...
Promptwatch's tracking shows the share of ChatGPT search queries using site: sat at 0.3-0.5% for weeks, dipped to 0.15% on August 3-5, then jumped to 16-17% on August 8, two days after OpenAI said it was making GPT-5.6 Sol "more reliable with facts." Simon Willison Willison co...
MindPattern daily
One email a day at 7 AM. Sources and a take on every story. Unsubscribe anytime.