AI/TLDR

Simon Willison · 2026-04-29 · notable

Simon Willison: LLM 0.32a0 Is a Major Backwards-Compatible Refactor

Simon Willison ships an alpha of his LLM CLI that switches inputs to message arrays and streams responses as typed parts (text, tool calls, reasoning, images). Old prompt= calls still work; the rebuild is for modern multimodal/agent models.

Simon Willison's blog post card for LLM 0.32a0 — major backwards-compatible refactor

The most-used Python CLI for LLMs gets a structural rewrite — messages-in, typed-streamed-parts-out — without breaking the old API.

What is it?

LLM is Simon Willison's open-source Python CLI and library for talking to language models. Version 0.32a0, released April 28 and written up April 29, is a backwards-compatible refactor that brings two architectural changes Simon has been signalling for months: prompts as message arrays instead of single text strings, and responses that stream as typed parts rather than plain text.

How does it work?

New builder helpers (`llm.user()`, `llm.assistant()`) construct message arrays in the OpenAI/Anthropic style. Responses now expose `stream_events()` and `astream_events()` that yield typed chunks for text, tool calls, reasoning traces, and images, so plugins for modern multimodal and agent-style models can preserve structure end-to-end. New `to_dict()` / `from_dict()` methods make responses serialisable. Legacy `prompt=` calls still work transparently. The CLI gains `-o thinking_display` to render reasoning tokens separately.

Why does it matter?

LLM is the de-facto plumbing for thousands of indie scripts, plugins, and one-off automations against frontier models. The plain-text-in, plain-text-out shape didn't model tool calls, reasoning, or multimodal output cleanly — every plugin had to fake it. The 0.32 line gives plugin authors a real type system without forcing existing scripts to migrate.

Who is it for?

Python developers using LLM in scripts/plugins, plugin authors targeting agentic or reasoning models

Try it

pip install llm==0.32a0

Sources · 3 outlets

Tags

  • llm-cli
  • datasette
  • simon-willison
  • python
  • open-source
  • tooling
  • agentic
  • developer-tools
  • alpha-release

← All releases · Learn AI