LLM 0.32 adds reasoning traces, server-side tools, and MCP support

Simon Willison released LLM 0.32 on the morning of August 4, 2026, calling it the most significant new version of the command-line tool and Python library since the project's initial launch. The release bundles four broad additions: visible reasoning traces, server-side provider tools, a redesigned logging format, and features built on top of OpenAI's Responses API.
Running LLM against a reasoning model now prints the model's reasoning trace to standard error, kept separate from the standard output that gets piped to other tools; the -R (or --hide-reasoning) flag turns that display off. The release also adds out-of-the-box support for the GPT-5.6 model family, and the inexpensive but capable GPT-5.6 Luna is now the default model for the 'llm prompt' command.
LLM can now call server-side tools hosted by the model providers themselves rather than running them locally. OpenAI supplies a CodeInterpreter tool, a hosted code execution environment, and a WebSearch tool, invoked with flags such as 'llm --tool CodeInterpreter'. Alongside LLM 0.32, Willison also shipped llm-anthropic 0.26, adding support for the Claude 5 model family plus four Anthropic-hosted tools: WebSearch, WebFetch, CodeExecution, and AnthropicMCP, the last of which lets a single LLM call have Anthropic execute Model Context Protocol requests against an MCP server, demonstrated in the post against Willison's own datasette-mcp plugin.
A new 'llm openai endpoint' command lets users run one-off prompts against any OpenAI-compatible API endpoint without a full LLM install; these calls are not logged. In the Python API, a new model.prompt(messages=[]) parameter lets a caller pass the full conversation history directly on each request rather than building it up one message at a time through the older conversation abstraction. Prompt responses can also now be consumed as a stream of typed events, reasoning, text, tool calls, and even image attachments, instead of the plain string stream the API returned before.
Those two additions let Willison build and release a companion plugin, llm-chat-completions-server, which runs a standards-compliant OpenAI chat completions API server on top of LLM (installed with 'llm install llm-chat-completions-server' and started with 'llm chat-completions-server --port 9000'). To support that kind of append-heavy conversation logging efficiently, the release also introduces a new content-addressable SQLite message store modeled on Git's object store; the existing 'llm logs' and 'llm logs --json' commands have been upgraded to reconstruct the older, simpler log format from the new schema.
Willison frames the release partly as an admission that LLM has become agent-shaped. He notes that in September 2025 he began accepting 'an LLM agent runs tools in a loop to achieve a goal' as a settled enough definition to stop avoiding the word 'agent'. Several of the release's lower-level changes, including letting tool chains pause for human approval and resume later from a stored message history, were driven by the needs of his own Datasette Agent project. He says a future LLM version might build the concept of an 'agent' into the core library itself, though he has not worked out what that would look like.
Existing LLM plugins will keep working, but plugins that add extra models need to be upgraded to 0.32 to fully participate in the new streaming events system. Companion plugins llm-gemini, llm-openrouter, and llm-mistral are described as 'nearly there', with releases coming soon.
Key facts
- LLM 0.32 shipped on August 4, 2026; Willison calls it the biggest release since the project's launch, adding reasoning traces, server-side tools, a new SQLite log format, and Responses API features.
- Server-side tools: OpenAI's CodeInterpreter and WebSearch, plus Anthropic's WebSearch, WebFetch, CodeExecution and AnthropicMCP, the last added via the companion llm-anthropic 0.26 plugin, which also brings Claude 5 family support.
- GPT-5.6 Luna is now LLM's default model for 'llm prompt', described as inexpensive but capable; reasoning traces print to stderr by default and can be hidden with -R/--hide-reasoning.
- A new llm-chat-completions-server plugin runs an OpenAI-compatible chat completions API on top of LLM, enabled by a new messages=[] prompt parameter and typed streaming events in the Python API.
- Plugins that add extra models must be upgraded to 0.32 to fully support the new streaming system; llm-gemini, llm-openrouter and llm-mistral updates are 'coming soon' but had not shipped at post time.
Why it matters
LLM 0.32 is, in Willison's own telling, the most significant release since the project began, and it pushes the tool from a simple CLI wrapper around chat completions toward something closer to an agent framework. Provider-hosted tools, visible reasoning traces, and a message API built around full conversation histories let a single command line or short Python script drive tool-using, MCP-connected, multi-turn interactions that previously needed custom scaffolding. Willison ties this directly to his own shift, dated to September 2025, toward accepting the word 'agent' for what LLM already does.
Who it affects
Developers who use the LLM CLI or its Python library to script against OpenAI, Anthropic and other model providers; authors of LLM plugins that add extra models, who need to upgrade to 0.32 for full streaming support; users of Willison's Datasette Agent project, which drove several of the underlying changes; and anyone piping LLM output into other tools, since reasoning traces now default to standard error rather than mixing into standard output.
How to use it
Upgrade to LLM 0.32 to pick up the new default model, GPT-5.6 Luna, and the new server-side tools; hosted tools are invoked with flags such as 'llm --tool CodeInterpreter' for OpenAI or '-T AnthropicMCP(...)' for Anthropic's Model Context Protocol tool. Reasoning traces print to stderr by default; add -R/--hide-reasoning to suppress them. A one-off prompt against any OpenAI-compatible endpoint can be run with 'llm openai endpoint
How solid is it
The account comes directly from Simon Willison's own blog, written in first person about a release he made himself the same morning; it is a primary-source announcement of his own software rather than reporting on someone else's work, so the technical claims about what shipped carry the weight of a maintainer's own release notes. The post itself points readers to more detailed 0.32, 0.32rc2, 0.32rc, 0.32a3, 0.32a2, and 0.32a0 release notes for the full list of changes.
Risks and caveats
The source gives no exact time for the release beyond 'this morning', and no numeric price for the new default model, GPT-5.6 Luna, described only as 'inexpensive'. Plugins that provide extra models keep working as-is but will not fully participate in the new streaming events system until upgraded to 0.32, which could leave some third-party integrations partially behind for a while. The companion plugins llm-gemini, llm-openrouter and llm-mistral had not shipped their matching updates at the time of the post, described only as 'nearly there'. Willison also says he has not yet worked out what baking the 'agent' concept into LLM's core library would actually look like, so that direction remains an open question rather than a settled roadmap item.
“Maybe the next version of LLM will bake the concept of an "agent" into the core library. I'm still trying to figure out what that would look like.”
— Simon Willison, in the LLM 0.32 release post