Will McGugan
@willmcgugan
Terminal hater. Hyperborean Python expert, author, humanist, husband, sometimes wildlife photographer. He/him @[email protected]
A little more work on Toad. 🐸 It's been fun, but I'm going to put it to bed until I figure out where to take it from here. I think I've made my point though. This is the terminal #AI coding experience we deserve. The future is batrachian!

Wrote some notes on Toad, Will's new not-yet-open-source-but-soon terminal coding agent built on Textual He's charging companies $5,000 for early access to the preview before it goes open source, I'd love to see that model work here! simonwillison.net/2025/Jul/23/an…
The Toad is out of the bag! 🛍🐸 Announcing Toad - a universal UI for agentic coding in the terminal willmcgugan.github.io/announcing-toa…
Turns out y'all say "tadpole". I feel I was mislead by Kermit in the 80s. youtube.com/watch?v=S8Csc1…
American friends (who are awake this early), is the word "tadpole" in common usage your side of the pond? Or is would you typically use the word "polliwog" ?
American friends (who are awake this early), is the word "tadpole" in common usage your side of the pond? Or is would you typically use the word "polliwog" ?
My wife once asked me how to take a screenshot on macOS. I do this dozens of times a day, but I couldn't tell her what the key combo was. I had to do it on a keyboard and watch what my fingers did. How can my fingers know the shortcut, without my conscious brain being aware of…
This tweet appears to be blowing up before I've even written the blog post. And since its reached outside of my bubble, I'm fairly sure many folk don't know this is in a terminal!
I'm writing up a blog post about Markdown streaming, because I think it is an interesting topic. I reckon there will be almost a dozen people who agree with me!
The way I think about it is that list comps put the data transformation first. That's what you append: lst.append(f(data)) EVERYTHING else preserves its order. More diagrams/animations at mathspp.com/blog/pydonts/l… Feel free to skim & stop only to look at the images.
Oh I like this! I can never remember the order of double barreled list / generator expressions. This feels so much more natural. peps.python.org/pep-0798/
Markdown doesn't do "colspan", but if you put two tables on top of each other the effect is pretty close! Possibly only on my blog theme though.

Built my first just for me productivity tool with the Python Textual library. So much fun. The UI was the easy part. Can’t say the same for the GMail API SDK. But now I have the gmail add on feature I’ve always wanted integrated to Todoist. Whole day of code but so worth it.
Tell me straight. Is the rainbow throbber at the top of the screen OTT?
I'm working on an Explain feature for Toad. If you go to a code block it will offer to explain function / methods / classes etc to you (which it extracts from the source automatically). You could just write a follow up prompt, but this can be quicker. It also takes such…
I'm working on an Explain feature for Toad. If you go to a code block it will offer to explain function / methods / classes etc to you (which it extracts from the source automatically). You could just write a follow up prompt, but this can be quicker. It also takes such…
[Thai Below] 🎤 Speaker Spotlight: Piti Champeethong Senior Consulting Engineer . 📌 Topic: "Boosting Operational Productivity with Python and Textual: Modern Terminal Dashboards for Developers" 💻 App Development . 💡 Transform your terminal into a powerful operations center!…
Today I have been combining some loose threads for the user interaction with Toad. And it is looking good! 💪 The Textual philosophy has always been to keep the UI snappy and keyboard focused. You can click and scroll, but the keyboard interaction is streamlined enough, you…