macOS
brew install llmlocal Homebrew formula metadata
brew
Access large language models from the command-line. Version 0.31 via Homebrew; verified 2026-05-21.
install
brew install llmlocal Homebrew formula metadata
sudo apt install llmDebian stable package indexes · llm · source: deb.debian.org
nix profile install nixpkgs#llmnixpkgs package indexes · pkgs/by-name/ll/llm/package.nix · source: api.github.com
overview
Access large language models from the command-line
history
LLM is Simon Willison's command-line tool and Python library for working with large language models. It started as an OpenAI-focused CLI in 2023 and evolved into a plugin-based interface for remote APIs, local models, embeddings, prompt templates, logging, attachments, schemas, and tool use.
The changelog records version 0.1 on April 1, 2023 as the initial prototype release. Version 0.5 on July 12, 2023 added a plugin mechanism for additional language models, a key change that moved LLM beyond a single-provider OpenAI wrapper.
During 2023 and 2024, LLM added chat, embeddings, templates, SQLite logging and search, model aliases, attachments, async models, and broader provider support. In May 2025, version 0.26 added tool support, letting models execute Python functions through the CLI and Python API.
LLM became part of the Datasette-adjacent command-line culture around small composable tools, SQLite-backed logs, and plugin systems. Homebrew, Debian, and Nix packaging made it easy to install as a normal developer utility rather than only as a Python package.
Its adoption expanded with the growth of provider-specific plugins and local-model integrations, giving users one command-line interface across OpenAI, Anthropic, Gemini, Ollama-backed models, and many community plugins.
Common uses include running one-off prompts from the shell, piping files into a model, starting interactive chats, storing API keys, saving prompt templates, logging responses to SQLite, generating embeddings, and calling models from Python code.
The documented configuration paths and keys.json locations matter to package users because Homebrew installs the executable, while user-specific model keys, templates, logs, and extra model definitions live outside the package prefix.
LLM is package-nerd significant because it turns rapidly changing AI APIs into a stable Unix-style command with plugins. The packaging story is unusually important: users want a single binary-ish command in PATH, but the real extension surface is Python plugins and user configuration.
It is also a useful example of modern CLI state management: credentials, templates, provider models, logs, and tool definitions are intentionally external to the package, so upgrades can move the application forward without overwriting user data.
security posture
No matching local secret-handling manifest was found for llm. Nucleus package metadata is still published here so future coverage has a stable package URL.
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
local files
These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.
Config paths the tool may read or write during local use.
~/.config/io.datasette.llm/~/.config/io.datasette.llm/templates/*.yaml~/.config/io.datasette.llm/extra-openai-models.yaml~/Library/Application Support/io.datasette.llm/~/Library/Application Support/io.datasette.llm/templates/*.yaml~/Library/Application Support/io.datasette.llm/extra-openai-models.yamlCredential-bearing paths to review before unattended agent runs.
~/.config/io.datasette.llm/keys.json~/Library/Application Support/io.datasette.llm/keys.jsonexecutables
| Command | Kind | Exposure | Note |
|---|---|---|---|
llm | cli | global executable |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
install metadata
| Package key | brew:llm |
|---|---|
| Version | 0.31 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/llm |
| Homepage | https://llm.datasette.io/ |
| Repository | https://github.com/simonw/llm |
| Upstream docs | https://llm.datasette.io/en/stable |
| License | Apache-2.0 |
| Source archive | https://files.pythonhosted.org/packages/7d/f2/3a81744fdaf3a92fe9020dc298dd2e4c144e2e7fcab863e1a132ea537cab/llm-0.31.tar.gz |
| Last updated | 2026-05-21T13:16:12Z |
| Pulse | updated |
| Dependencies | certifi, libyaml, pydantic, python@3.14 |
| Build dependencies | rust |
| Bottle | available (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | llm |
| Version Scheme | 0 |
| Revision | 1 |
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
llm 0.23-1
CLI utility and Python library for interacting with Large Language Models
sudo apt install llmllm
nix profile install nixpkgs#llmsource trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.