LLM 0.32a0 refactors input/output to support multimodal messages and streaming parts
Simon Willison released LLM 0.32a0, an alpha of the Python library and CLI tool for accessing large language models. The refactor changes how inputs and outputs are modeled: inputs are now a sequence of messages (using new builder functions llm.user() and llm.assistant()), and outputs are a stream of typed parts (text, reasoning, tool calls, etc.). This enables support for multimodal models, tool execution, and reasoning display. The CLI adds a -R/--no-reasoning flag. A new serialization mechanism allows custom persistence. The stable 0.32 release is expected soon pending alpha testing. Willison plans to redesign SQLite logging to store conversation graphs, possibly for 0.33.
Key facts
- LLM 0.32a0 is an alpha release by Simon Willison on 29th April 2026.
- Inputs are now modeled as a sequence of messages using llm.user() and llm.assistant().
- Outputs are a stream of typed parts: text, reasoning, tool calls, etc.
- The previous prompt= option still works but is converted to a single-item messages array.
- CLI adds -R/--no-reasoning flag to suppress reasoning tokens.
- New serialization mechanism via TypedDict in llm/serialization.py allows custom persistence.
- Willison plans to redesign SQLite logging to store conversation graphs.
- Stable 0.32 release expected soon after alpha testing.
Entities
Artists
- Simon Willison