simonw/llm
Access large language models from the command-line
Recommended between 2025-11-06 and 2026-02-03. Last pushed 2026-10-30.
▲ 6 recommend · ▼ 0 criticisms
What hackers say
“When I'm writing a script that requires some kind of call to an LLM, I use this”
— lcian, 2026-01-10 · strong recommendation · original comment on Hacker News ↗
show original comment
When I'm writing a script that requires some kind of call to an LLM, I use this: https://github.com/simonw/llm . This is of course cross-platform and works with both models accessible through an API and local ones. I'm afraid this might not solve your problem though, as this is not an out of the box solution, it requires the user to either provide their own API key or to install Ollama and wire it up on their own.
“I pipe it to Simon Willison's `llm` tool.”
— hebelehubele, 2025-11-07 · strong recommendation · original comment on Hacker News ↗
show original comment
This is the script that uses yt-dlp to print the English transcript. I pipe it to Simon Willison's `llm` tool. https://gist.github.com/abdusco/118a6a3ab41a0a1d2a5f8813f7895ca1 https://github.com/simonw/llm > youtube_transcript.py 'https://www.youtube.com/watch?v=DAX2_mPr9W8' | llm 'give me keypoints, ignore promotions' Certainly! Here are the key points from the detailed discussion about dishwasher detergents, washing cycles, and hot water use: 1. **Dishwasher Detergent Basics:** - Most dishwashers have a detergent dispenser designed to release detergent in two doses: a smaller pre-wash dose and a larger main wash dose. - The pre-wash helps remove easily dissolvable food residues before t…
“isn't that what Simon Willison's `llm` does?”
— niobe, 2026-02-03 · original comment on Hacker News ↗
show original comment
isn't that what Simon Willison's `llm` does? edit: [link]( https://github.com/simonw/llm )
“This is especially true if you use something like `llm` [1].”
— dave1010uk, 2025-11-06 · original comment on Hacker News ↗
show original comment
Two years ago I wrote an agent in 25 lines of PHP [0]. It was surprisingly effective, even back then before tool calling was a thing and you had to coax the LLM into returning structured output. I think it even worked with GPT-3.5 for trivial things. In my mind LLMs are just UNIX strong manipulation tools like `sed` or `awk`: you give them an input and command and they give you an output. This is especially true if you use something like `llm` [1]. It then seems logical that you can compose calls to LLMs, loop and branch and combine them with other functions. [0] https://github.com/dave1010/hubcap [1] https://github.com/simonw/llm
“https://github.com/simonw/llm proposes some hints to run in local”
— psychoslave, 2025-11-06 · original comment on Hacker News ↗
“There is also the llm tool written by simonwillison: https://github.com/simonw/llm”
— kissgyorgy, 2025-11-06 · original comment on Hacker News ↗
show original comment
There is also the llm tool written by simonwillison: https://github.com/simonw/llm I personally use "claude -p" for this
Badge for your README
[](https://hackerrepos.org/repo/simonw/llm)