Simon Willison's setup: from Copilot to six agents at once
Published
Simon Willison co-created Django and went on to build Datasette, sqlite-utils and the LLM command-line tool. He has blogged at simonwillison.net for more than two decades, posting TILs, weeknotes and link-blog entries, and he writes down nearly every tool he tries. That makes his setup easy to date from his own posts.
2021 to 2022: VS Code, GitHub Actions and a lot of SQLite
His editor shows up in the small posts. In April 2021 a TIL covers language-specific indentation settings in VS Code. In January 2022, How I build a feature describes his documentation loop: “I can hit ‘save’ in VS Code and see a preview in my browser a few seconds later.” The same post describes the release setup he uses across his projects: “they use GitHub releases to trigger a GitHub Actions workflow which publishes the new release to PyPI.” The projects themselves are Python libraries and tools around SQLite, many of them Datasette plugins.
2022 to 2023: Copilot, then ChatGPT
GitHub Copilot first appears in weeknotes from September 2022: “GitHub Copilot auto-completed that return statement for me.” By December he was using it deliberately. He learned Rust through Advent of Code with “the assistance of GitHub Copilot and OpenAI’s new ChatGPT,” and described the split: “GitHub Copilot runs in my VS Code editor. I’ve used it for the past few months mainly as a typing assistant.”
In March 2023 he wrote down the effect it was having: “AI-enhanced development makes me more ambitious with my projects.” ChatGPT and Copilot “save me an enormous amount of ‘figuring things out’ time… I don’t need to even look things up any more.”
2024: uv
Astral released uv in February 2024. By August he was posting patterns for it, such as starting a script with #!/usr/bin/env -S uv run so that it “will automatically create its own isolated environment and run itself with the correct installed dependencies.” When OpenAI bought Astral in March 2026, he wrote: “I’ve been using it extensively for the past couple of years and it’s become an essential part of my workflow.”
2025: Claude Code, then agents in parallel
Claude Code launched as a preview in February 2025. In March it was the worked example in Here’s how I use LLMs to help me write code: “I used Claude Code, because I wanted it to be able to run Python code directly against my existing tools repository on my laptop.” The same post frames the tools without hype: “LLMs are still fancy autocomplete… but it turns out writing code is mostly about stringing tokens together in the right order.”
By October agents had become the main way he worked. In Embracing the parallel coding agent lifestyle he listed them: “My daily drivers are currently Claude Code (on Sonnet 4.5), Codex CLI (on GPT-5-Codex), and Codex Cloud (for asynchronous tasks, frequently launched from my phone.)” They ran “in YOLO mode (no approvals) for tasks where I’m confident malicious instructions can’t sneak into the context,” and anything riskier went to the cloud agents. Copilot appears in that post only as the “GitHub Copilot Coding Agent” he was “dabbling with,” not as his autocomplete. Two days later he proposed vibe engineering as the name for the responsible end of AI-assisted coding: “seasoned professionals accelerate their work with LLMs while staying proudly and confidently accountable for the software they produce.” He later adopted “agentic engineering” instead.
In November he hit his peak: “At one point I had six terminal windows open running this same prompt against six different repos - probably my most extreme case of parallel agents yet.” The tool he used for those runs was codex exec.
2026: Codex in an app, Claude Code in a browser
In February 2026 OpenAI shipped the Codex app for macOS, which he called “a solid app that provides a nice UI over the capabilities of the Codex CLI agent.” By September his Mac work ran through it: “I’ve been having fun with Blender in ChatGPT Codex on my Mac recently,” he wrote, “covered by my existing Codex subscription.”
In October he built a feature for his blog by voice, talking to “the ChatGPT desktop app… in the Codex tab, using the voice conversation mode” while he cooked dinner. He then reviewed the result the way he reviews everything else: “I had Codex create a branch and open a pull request. I reviewed the code in the GitHub PR interface.” His verdict on voice: “I don’t think this is going to be a daily driver for me though.”
Claude Code is still in the mix, often as Claude Code for web. He used it to build Battle Drones, a real-time strategy game. The blog it shipped to is still the Django app on Heroku, with PostgreSQL and Cloudflare in front, and the repository now carries both an AGENTS.md and a CLAUDE.md.
What the stack says
The base hardly moved: Python, SQLite, Django, GitHub and a Mac, with uv taking over how the Python runs. What changed is who types. It went from Copilot completing a return statement in 2022 to six Codex instances working at once, and to a whole feature built by voice while he cooked. He does not claim this got easier. “The more time I spend working with coding agents, the more convinced I am that they make software engineering even harder,” he wrote in September 2026. “We can do amazing things with them, but unlocking their full potential requires extraordinary discipline and knowledge.”