source: simon willison: llm-coding-agent 0.1a0
level: technical
simon willison released llm-coding-agent 0.1a0, a python library that turns his llm tool into a claude-code-style coding agent. the project was bootstrapped using fable 5, starting with a spec and then built through test-driven development in a series of commits. the agent includes tools for reading, writing, and editing files, executing shell commands, listing and searching files, all accessible via a command-line interface or a python api.
the agent can be run with uvx --prerelease=allow --with llm-coding-agent llm code. it supports flags like --yolo for automatic approval and --allow to permit specific commands. the python api exposes a codingagent class that accepts a model, root directory, and approval setting, then runs prompts like fixing a failing test. the tool set includes edit_file for exact string replacements, execute_command with timeout handling, list_files with glob and gitignore support, read_file with line numbering and paging, search_files with regex, and write_file for creating or overwriting files.
in a demo, willison used the agent with gpt-5.5 to create a swift command-line tool that displays ascii art of the current time. the model noted that swiftui is not for cli apps and built a working solution. the release shows how llm-based agents can handle practical coding tasks with minimal setup, combining file manipulation and shell access in a single workflow.
why it matters: this agent shows how llm tools can automate multi-step coding tasks, making it easier for developers to prototype and fix code with natural language prompts.