Simon Willison · 2026-07-02 · notable
llm-coding-agent 0.1a0 — Simon Willison's alpha Fable 5 coding agent
Simon Willison released llm-coding-agent 0.1a0, a Python coding agent built on his LLM library that runs against Claude Fable 5 and exposes six tools for reading files, editing code, and running shell commands.
Simon Willison's LLM library learns to code: an alpha CLI agent that can read files, edit code, and run shell commands.
What is it?
llm-coding-agent 0.1a0 is an Apache-2.0 Python package that turns Simon Willison's LLM library into a coding agent with both CLI and Python API surfaces. The alpha ships six tools — read, write, replace, shell, list, and grep — and was built in a test-driven session against Claude Fable 5.
How does it work?
The agent wraps Willison's LLM Python library, which already handles model selection and prompting, and adds a fixed tool set that the model calls to read files, apply exact-string replacements, execute shell commands with timeouts, list directories while respecting .gitignore, and run regex searches. A YOLO mode and per-tool allow-lists (e.g. --allow "pytest*") gate which shell commands the model may run.
Why does it matter?
llm-coding-agent gives Python developers a small, readable reference implementation of the read-write-execute loop that Claude Code and Cursor sit on top of. Because it plugs into the LLM library, users can point it at any model the library supports and inspect exactly what the agent is calling — useful for teaching, prompt-injection research, and running local coding agents without a proprietary IDE.
Who is it for?
Python developers, LLM library users, agent researchers
Try it
uvx --prerelease=allow --with llm-coding-agent llm code