Will McGugan's Toad Terminal AI
Table of content

Will McGugan spent twelve years as a freelance Python contractor before creating Rich and Textual, two Python libraries downloaded over 3 billion times. When major tech companies started shipping terminal-based AI coding agents with flickering displays and broken interactions, he built Toad to fix what they got wrong.
Background
- Created Rich (55k GitHub stars), a terminal formatting library used by pip
- Built Textual (34k stars), a Python TUI framework
- Founded Textualize in 2021 with seed funding in Edinburgh
- Python Software Foundation Fellow and author of “Beginning Game Development with Python”
- Currently on sabbatical after closing Textualize in mid-2025
- @willmcgugan on Twitter
McGugan built the Toad prototype “across two afternoons in a nerdy caffeinated rage while listening to metal music” after trying Claude Code and Gemini CLI.
What Toad Fixes
McGugan watched AI coding tools from Google and Anthropic ship with problems his libraries solved years ago:
| Problem | Existing Tools | Toad’s Solution |
|---|---|---|
| Screen flickering | Redraw entire screen on updates | Update partial regions (even single characters) |
| Text selection | Copies formatting characters and line numbers | Clean text selection and copying |
| Terminal resize | Output becomes garbled | Graceful resize handling |
| Interactive apps | Many tools break on TUIs | Full color, interactivity, mouse support |
| Scrollback | Content becomes read-only | Accessible and interactive after scroll |
Installation
curl -fsSL batrachian.ai/install | sh
Or with UV:
uv tool install -U batrachian-toad --python 3.14
Supported AI Agents
Toad uses the Agent Client Protocol (ACP) to provide a single UI for 12+ coding agents:
- OpenHands
- Claude Code
- Gemini CLI
- Aider
- And more through ACP
Start a coding session:
toad
Run as a web service:
toad serve
Key Features
Fuzzy file search. Type @ to search files with .gitignore filtering.
Streaming Markdown. Renders large documents without performance loss, with syntax-highlighted code blocks.
Jupyter-style navigation. Move through conversation blocks for easy content interaction and export.
Command palette. Access all shortcuts via Ctrl+P.
Design Philosophy
From his announcement post:
“I wanted the conversation with AI to feel like a natural extension of a traditional terminal-based workflow. Most tools stop at displaying monochrome output from commands.”
McGugan emphasizes terminals as underutilized platforms. While most developers treat terminals as dumb output streams, his libraries prove they can host responsive, interactive applications.
The Textualize Experience
McGugan ran Textualize for three years before concluding that “Textual has always been a solution in search of a problem.” The company built impressive software but couldn’t find a sustainable business model.
What he kept:
- Rich and Textual remain maintained open source
- The terminal UI expertise directly informed Toad
- Community engagement via Discord continues
Building in Public
McGugan’s approach to Rich:
- Released early, shared progress publicly on Twitter
- Implemented features requested by multiple users
- Willing to bump major versions for API elegance
- Documented breaking changes transparently
Progress bars weren’t originally planned but became one of Rich’s most popular features after repeated community requests.
Key Takeaways
| Principle | Implementation |
|---|---|
| Fix real problems | Built Toad after using broken AI tools |
| Use existing expertise | Terminal UI knowledge from Rich/Textual |
| Protocol over implementation | ACP enables multi-agent support |
| Release early | Share progress, iterate with community |
| Open source first | AGPL-3.0 license, seeking sponsorship |
Links
Next: Jesse Vincent’s Superpowers Framework
Get updates
New guides, workflows, and AI patterns. No spam.
Thank you! You're on the list.