LLM
Command-line tool for running prompts against many LLMs, with plugins and embeddings.
About
LLM is Simon Willison's open-source command-line utility for accessing large language models from the terminal. It runs prompts against many providers through a plugin architecture, supports prompt templates, embeddings, and structured output, and logs every interaction to a local SQLite database so prompts and responses stay searchable. It is a staple of LLM-ops and scripting workflows: piping files into prompts, batching evaluations, and wiring models into shell pipelines.
Documentation lives at llm.datasette.io and the project is Apache-2.0 licensed with over 12k GitHub stars. Provider plugins cover the major commercial and local model APIs; specific provider coverage changes over time, so the plugin index is the source of truth for what is currently supported.
What it can do
- Prompt any supported LLM from the terminal
- Plugin architecture for model providers
- Prompt templates and embeddings support
- SQLite logging of all prompts and responses
- Shell-pipeline friendly stdin/stdout design
Setup
- pip install llm
- llm install <provider-plugin> and set API keys
- Run llm 'your prompt' or pipe input via stdin
Prerequisites
Python 3.9+; API keys for the providers you use.
Use cases
Works with
Trust score — 8/10
Scored 8/10 (verified tier, metrics-v1). Evidence: Verified via official docs at llm.datasette.io + GitHub repo (simonw/llm), batch277; GitHub 12,624 stars; provider coverage via plugins changes over time — plugin index is source of truth; Trending score 80/100 from researcher assessment. License: Apache-2.0.
★ 12,624 GitHub stars
Sources
Every fact above was checked against these sources. Where a claim comes from the provider and couldn't be independently verified, the text says so.