The Information Machine

Simon Willison Releases llm 0.32 Alpha Series · history

Version 5

2026-05-01 05:01 UTC · 132 items

Narrative

On April 29, 2026, Simon Willison released two alpha versions of his popular llm CLI tool and Python library in rapid succession, marking a significant architectural overhaul. The headline change in 0.32a0 is the replacement of the previous prompt/response model with a message-sequence API that allows full prior conversations to be injected without requiring SQLite as an intermediary.[1] This is a backwards-compatible refactor, but a major one that reshapes how the library models both inputs and outputs.

The new streaming API is perhaps the most technically ambitious aspect of the release: responses are now exposed as typed event parts — text, tool_call_name, tool_call_args, and reasoning — enabling downstream consumers to handle the mixed-type outputs increasingly common from modern models like Claude.[1] Willison frames this as a direct response to the reality of contemporary LLMs: "Many of today's models return mixed types of content. A prompt run against Claude might return reasoning output, then text, then a JSON request for a tool call, then more text content." The CLI immediately leverages this by rendering reasoning/thinking tokens in a distinct color and routing them to stderr, keeping piped output clean.[1] A new to_dict/from_dict serialization mechanism rounds out the release, letting Python API users store and restore responses in any storage layer rather than being coupled to SQLite.[1] The 0.32a1 patch followed the same day, fixing a bug in which tool-calling conversations were not correctly reinflated from SQLite storage — a regression introduced by the architectural changes in 0.32a0.[2][3]

A third search cycle (May 1, 2026) has returned further confirmation that organic community reaction remains absent from the public record. The dominant signal is search noise: queries targeting "stable release" have surfaced dozens of entirely unrelated Twitter posts[4][5][6][7][8][9][10][11] matching the word "stable" with no connection to llm whatsoever. Mildly notable new signals include: an Instagram post specifically titled "LLM 0.32 just rewrote its core — and everything still ..."[12], extending social amplification to a new platform; a Bluesky post from Willison's own account[13] and a Fediverse post on "The LLM Python library support…"[14], both without extracted claims; and a cluster of simonw/llm GitHub issues on tool usage features[15][16][17] that provide ecosystem context for the kinds of problems the 0.32 refactor addresses, though none are explicitly about 0.32 migration. The llm-openai-plugin GitHub repository[18] and the official llm docs page for other models[19] are indexed without new content, and a general Willison plugins tag page[20] confirms ongoing plugin ecosystem activity without 0.32-specific commentary.

The broader pattern across three search cycles is now clear: the 0.32 alpha series has attracted aggregator and isolated social amplification (Twitter, Instagram, Bluesky, Fediverse) but has generated no substantive third-party analysis beyond the single explore.n1n.ai piece[21], no plugin author migration reports, and no Hacker News discussion thread. The llm GitHub issues on tool documentation[16] and tool-in-conversation continuity[15] indicate that tool-calling features were already a live concern in the project before the 0.32 release, lending further context to why the architectural refactor prioritized typed streaming event parts. Whether the stable release will surface community reaction that the alpha series has not remains the open question.

Timeline

  • 2026-04-29: LLM 0.32a0 released: major backwards-compatible refactor replacing prompt/response model with message-sequence API, adding typed streaming event parts and to_dict/from_dict serialization [1][22][23]
  • 2026-04-29: LLM 0.32a1 released same day to fix bug where tool-calling conversations were not correctly reinflated from SQLite [2][3]
  • 2026-04-29: Third-party aggregators (Let's Data Science, daily.dev) begin indexing and republishing the 0.32a0 announcement [24][25]
  • 2026-04-30: Dedicated third-party analytical piece on the 0.32a0 refactor indexed from explore.n1n.ai; Hacker News searches confirm no 0.32-specific community discussion; second search cycle returns primarily noise [21][28][29][30][31][32]
  • 2026-05-01: Third search cycle: Instagram post specifically about 0.32 core rewrite indexed; Bluesky and Fediverse posts from Willison detected without extracted claims; llm GitHub issues on tool usage features surfaced; 'stable release' queries overwhelmed by unrelated Twitter noise [12][13][14][15][16][17][18][19]

Perspectives

Simon Willison

Advocates for the architectural refactor as a necessary response to modern LLMs' mixed-type outputs (reasoning, text, tool calls). Treats the alpha series as iterative public development, shipping a fix the same day as the initial alpha. Continues posting on multiple platforms (Fediverse, Bluesky) about the library.

Evolution: consistent — no new substantive statements detected; active on social platforms but no extracted claims in third cycle

Third-party tech aggregators (Let's Data Science, daily.dev)

Neutral amplification — republishing Willison's announcement without original analysis or critique.

Evolution: consistent — purely re-aggregative across all three cycles

Specialized AI content sites (explore.n1n.ai)

Analytical framing of the 0.32a0 refactor as significant for Python-based AI tooling broadly, though no specific claims were extracted.

Evolution: first appeared in prior cycle — no new content extracted in third cycle

Social media amplifiers (Instagram)

Neutral amplification of the 0.32 core rewrite story on a new platform, extending reach beyond tech-aggregator sites.

Evolution: new in third cycle — Instagram represents a new platform for the story's spread

Tensions

  • The 0.32 series is explicitly alpha: it is unclear how many breaking changes plugin authors face and whether the new message-sequence API will stabilize before a stable release. [1][2]
  • The new to_dict/from_dict mechanism decouples the library from SQLite, but the same-day SQLite bug fix in 0.32a1 suggests the two storage paths are not yet equally exercised. [1][2][3]
  • Community and third-party plugin reactions to the refactor are entirely absent from three full search cycles — HN searches confirm no notable 0.32-specific discussion, and all substantive content comes from Willison himself and neutral amplifiers. [28][29][30][31][32][15][16][17]
  • Tool usage documentation and tool-in-conversation continuity were already open GitHub issues before the 0.32 release, suggesting the refactor addresses real developer pain points — but no plugin author has publicly responded to whether 0.32 resolves their specific needs. [15][16][17]
  • The broader Python LLM tooling ecosystem (e.g., pydantic-ai) is independently wrestling with the same streaming-plus-tool-call problem that llm 0.32 addresses, raising the question of whether llm's approach will converge with or diverge from emerging community conventions. [33][34]

Sources

  1. [1] LLM 0.32a0 is a major backwards-compatible refactor — Simon Willison (2026-04-29)
  2. [2] llm 0.32a1 — Simon Willison (2026-04-29)
  3. [3] Release: llm 0.32a1 — reactive:simon-willison-llm-032
  4. [4] "Get a stable job" — reactive:simon-willison-llm-032 (2026-05-01)
  5. [5] Situation au 30 avril - 1/2 — reactive:simon-willison-llm-032 (2026-05-01)
  6. [6] @blacknredtext Things have to be stable and have a growing population that is atleast culturally stable and consistent. ... — reactive:simon-willison-llm-032 (2026-05-01)
  7. [7] Rudie Heyneke urges stable NSFAS leadership https://t.co/lMSMLp5Sto is important stable stable officials in nsfas is nee... — reactive:simon-willison-llm-032 (2026-04-30)
  8. [8] 📊 SPY GEX Framework — 2026-04-30 — reactive:simon-willison-llm-032 (2026-04-30)
  9. [9] Coolify V4 stable — reactive:simon-willison-llm-032 (2026-04-30)
  10. [10] @seth_doe22 With all that has unfolded in the past 10 years concerning marriages, it is safe to say that there's an atta... — reactive:simon-willison-llm-032 (2026-04-30)
  11. [11] We the stable will stay stable even when things aren't stable. — reactive:simon-willison-llm-032 (2026-04-30)
  12. [12] LLM 0.32 just rewrote its core — and everything still ... - Instagram — reactive:simon-willison-llm-032
  13. [13] Post by @simonwillison.net — reactive:simon-willison-llm-032
  14. [14] Simon Willison: "The LLM Python library support…" — reactive:simon-willison-llm-032
  15. [15] Ability to "reply" to a tool-response with a prompt carrying those tool ... — reactive:simon-willison-llm-032
  16. [16] Documentation on how to implement tool usage for model plugins — reactive:simon-willison-llm-032
  17. [17] c" should automatically include tools from "llm -T" in the initial prompt ... — reactive:simon-willison-llm-032
  18. [18] GitHub - simonw/llm-openai-plugin: OpenAI plugin for LLM · GitHub — reactive:simon-willison-llm-032
  19. [19] Other models - LLM — reactive:simon-willison-llm-032
  20. [20] Simon Willison on plugins — reactive:simon-willison-llm-032
  21. [21] LLM 0.32a0 Refactor: A Major Step for Python-Based AI Tooling — reactive:simon-willison-llm-032
  22. [22] llm 0.32a0 — Simon Willison (2026-04-29)
  23. [23] LLM 0.32a0 is a major backwards-compatible refactor — reactive:simon-willison-llm-032
  24. [24] llm CLI package releases version 0.32a0 - Let's Data Science — reactive:simon-willison-llm-032
  25. [25] LLM 0.32a0 is a major backwards-compatible refactor — reactive:simon-willison-llm-032
  26. [26] n1n.ai: Enterprise Unified LLM API Gateway (One Key for All Models) — reactive:simon-willison-llm-032
  27. [27] ai-agents — reactive:simon-willison-llm-032
  28. [28] Yet Another LLM Rant - Hacker News — reactive:simon-willison-llm-032
  29. [29] LLMs can be exhausting | Hacker News — reactive:simon-willison-llm-032
  30. [30] Im genuinely blown away by llms. I'm an artist who've ... - Hacker News — reactive:simon-willison-llm-032
  31. [31] LLMs are bullshitters. But that doesn't mean they're not useful — reactive:simon-willison-llm-032
  32. [32] This is frankly one of the most frustrating things about LLMs — reactive:simon-willison-llm-032
  33. [33] Streaming Tool Calls · Issue #640 · pydantic/pydantic-ai - GitHub — reactive:simon-willison-llm-032
  34. [34] How streaming LLM APIs work | Simon Willison’s TILs — reactive:simon-willison-llm-032