2026-08-04 · ← Radar
LLM 0.32 turns Willison's CLI from a prompt tool into an agent runtime
Simon Willison released LLM 0.32 and called it the biggest version since the project launched. Alongside the llm-anthropic 0.26 plugin, it brings visible reasoning traces, provider server-side tools, redesigned SQLite logs, and a new Python API built around streamed events.
Reasoning traces, server-side tools, and a new default model arrive together
For CLI users, reasoning models now print their thinking to stderr. Standard output stays clean for pipelines; -R/--hide-reasoning turns the traces off. The GPT-5.6 family ships out of the box, and the new default for plain llm prompt is the cheaper GPT-5.6 Luna.
LLM can call provider server-side tools. For OpenAI, Willison calls out CodeInterpreter and WebSearch. The llm-anthropic 0.26 plugin adds WebSearch, WebFetch, CodeExecution, and AnthropicMCP, so one request can run MCP calls against a remote server on Anthropic's side. There is also llm openai endpoint for one-off prompts against any OpenAI-compatible endpoint, including local LM Studio.
For people composing agents from the CLI, the runtime moved more than the marketing
Willison says lower-level tool changes were pushed by Datasette Agent. Tool chains can now pause for human sign-off and resume from stored message history. That is exactly the piece without which an "agent" stays a loop until it breaks something.
The Python API stops pretending every answer is just a string. Instead of a conversation abstraction that hid the full message history, there is model.prompt(messages=[...]) and stream_events() with types such as reasoning, text, and tool calls. That foundation also powers the llm-chat-completions-server plugin: LLM can now present itself as a local OpenAI-compatible server.
Logging is the second layer. A content-addressable message store modeled after Git attacks the chat-completions pattern where every turn rewrites duplicate JSON. llm logs and llm logs --json fold that format back into something readable.
Not a full framework yet, more a serious harness with a plugin ecosystem
Willison half-jokes that LLM now looks agent-shaped, and that since September 2025 he stopped boycotting the word agent. He is still not selling a dashboard orchestrator. It remains a CLI and library that mixes models, tools, and providers in a one-liner.
Existing plugins should keep working, but full participation in stream events needs model plugins upgraded to 0.32. He already shipped llm-anthropic; llm-gemini, llm-openrouter, and llm-mistral were close. That is the usual open-toolchain risk: core jumps first, ecosystem catches up later.
Datasette Agent and outside plugins will show if 0.32 holds without workarounds
Three signals matter next. First, whether human sign-off pause and resume from message history becomes a common pattern outside Willison's own projects. Second, how fast the remaining model plugins catch up. Third, whether the next major version bakes agent into core, or stays a universal runtime that other people compose into agents.
For engineering teams the practical question is simple: do you need another framework, or a CLI that can do reasoning, tools, and an auditable log in the same process?
Lilith's verdict
Willison is not shipping another chatbot wrapper. He is building a CLI that can carry a tool loop, human stop-go, and git-addressed logs in the same process as the prompt.
Sources
I keep the external link at the end. First, a concise explanation here — no hunting across someone else's site.
Original source ↗ ↗