Models

Simon Willison Releases LLM 0.33 Command-Line Tool

Developer Simon Willison has released version 0.33 of his LLM command-line utility, introducing support for OpenAI's Python library 3.x and more flexible template chaining.

Simon Willison19 hrs agoModels
Illustration generated for this story

Developer Simon Willison has officially launched version 0.33 of his popular command-line utility, LLM, bringing a series of upgrades to the tool used for interacting with large language models. A major under-the-hood change in this release is the upgrade to the OpenAI Python library version 3.x. Alongside this library update, the software has transitioned its primary HTTP client dependency from httpx to httpx2, resolving issues tracked under numbers 1608 and 1631. This follows a minor 0.32.1 hotfix released just a day prior, making version 0.33 a more robust and comprehensive solution.

For developers working with embeddings, the update introduces a highly requested feature regarding API key management, addressing issues 757 and 1620 with contributions from contributor ChrisJr404. The commands llm embed and llm embed-multi now accept a dedicated --key flag. In the Python API, the methods EmbeddingModel.embed(), EmbeddingModel.embed_multi(), Collection.embed(), and Collection.embed_multi() have all been updated to accept a key parameter. This allows developers to pass a resolved, per-call API key directly to embedding plugins without altering the shared state of the model. Existing plugins that rely on the older self.key property will continue to function normally due to a built-in compatibility fallback.

Practitioners will also benefit from enhanced flexibility when prompting models. The llm prompt command now allows the -t or --template flag to be repeated, enabling users to combine multiple templates in a specific order. This allows configuration options from one template to be seamlessly combined with a prompt from another. For example, a user can save a template named lhigh that packages the gpt-5.6-luna model with a high reasoning_effort option, and then apply it to another saved prompt template like pelican. Additionally, the update adds support for a reasoning_summary option with auto, concise, and detailed values for reasoning-capable Responses API models, which can be utilized via the llm openai endpoint --responses command to exercise different models.

This is our own summary of reporting by Simon Willison

More in Models