Toad is a unified experience for AI in the terminal

(willmcgugan.github.io)

109 points | by nikolatt a day ago ago

24 comments

  • mark_undoio 43 minutes ago ago

    Very excited to see this come out - though coding agents are impressive their UIs are a bit of a mixed bag.

    Textual offers incredibly impressive terminal experiences so I'm very much looking forward to this.

    I wonder how much agentic magic it'll be able to include though - Claude Code often seems like a lot of its intelligence comes from the scaffolding, not just the LLM. I'm excited to see!

    • willm 38 minutes ago ago

      Hope you like it. It is still Claude Code doing the work. Toad talks to the agent, and is the agent that works with the LLM. So the results should be identical to the native CLI.

  • browningstreet 2 hours ago ago

    I already used Toad to run a conversion task I've been procastinating on.

    It worked perfectly and looked splendid doing so.

    Excited to dig in further.

  • jarbus a day ago ago

    This looks really cool. I wonder if they support vi keybinds

  • _whiteCaps_ a day ago ago

    I'm really looking forward to trying this out over Christmas break. Textualize is awesome for building Python console apps.

    • mark_l_watson 21 hours ago ago

      Me too. I am on a mobile device but I put the article link on my TODO list.

  • willm a day ago ago

    Hi. Will McGugan here. I built Toad. Ask me anything.

    • Cannabat 21 minutes ago ago

      Hi Will,

      I was about to try opencode after using claude code for quite a while.

      I think understand the fundamental difference in how they work (acp against existing agentic loops with toad vs a single agentic loop for all models with opencode) but I’m curious why we might want toad over something like opencode, which lets me use any model under the sun.

      I suppose toad gets to use the highly specialized agentic loops for each cli. And has a nicer (? opencode is pretty slick from my brief usage…).

      Curious to hear about why you chose to built this way and what advantages you see.

      • willm 5 minutes ago ago

        That’s pretty much it. You can bring your own agent. Including OpenCode by the way. I doubt they will mind as they still get paid for the tokens.

        You get a nice UI that is only going to get better as time goes on.

        It’s far better model to separate the agent from the UI. The current situation is like building a browser for a single website.

    • lemming 43 minutes ago ago

      Toad looks really nice, I will definitely try it out. I have some ACP questions if you don't mind.

      First, from my reading of the ACP doc, one thing that seems pretty janky is if the ACP client wants to expose a tool to the agent, e.g. if Toad wanted to add the ability for the agent to display pretty diffs. In the doc they recommend stdio to the ACP server, then stdio to an MCP server, and then some out of band network request back to the ACP client. Have you thought about this, or found a better solution working on Toad?

      Similarly, it would be useful to be able to expose a tool which runs a subagent using ACP using a different agent, e.g. if I'm using Claude for coding but I'd like to invoke codex for code review. Have you thought about doing anything like this? Is it feasible over the protocol?

    • dc_giant an hour ago ago

      Cool idea but why python?! Rust please and I’m all ears.

    • jswny 8 hours ago ago

      Very interesting project! I have 2 questions:

      1. How has it been working with ACP? Is it anywhere near feature parity with Claude code’s native interface?

      2. I see your repo is written in Python which is interesting to me for a responsive TUI. Is it snappy and performant and if so what gave you done to make it feel native? And why did you choose Python?

      • willm 8 hours ago ago

        ACP is will designed. It will always be a few features behind the native CLIs as the protocol catches up. But there is very little that you can't do with ACP. A lot can be done with slash commands that are passed through to the agent verbatim.

        Python is more than capable of running a TUI. It is just text manipulation after all. Toad uses Textual, which is currently the best TUI library around. I may be biased saying that as I built it...

    • bunsenhoneydew 11 hours ago ago

      Sorry, not a question, just wanted to say congrats on putting this together. I am so the target market for a nice terminal interface. I can’t wait to try this out!

      • willm 11 hours ago ago

        Thanks. Hope you like it.

  • fcarraldo 18 hours ago ago

    This looks great! Looking forward to trying it out. I recently tried moving to OpenCode but it didn’t quite scratch the itch UX wise.

  • wey-gu an hour ago ago

    toad is next level in many ways

  • adammarples 5 hours ago ago

    This is absolutely awesome but the little jokey captions that Claude did (Discombobulating... Laminating...) all that stuff, they were a little annoying but cute enough, but whatever is running this one (I did not murder him... I thought I was special....) they are genuinely offputtingly bad. This great app doesn't need clunky humour front and centre, I'm not sure if it's Claude or toad but it seems markedly worse than Claude used to be.

  • SamvitJ 11 hours ago ago

    I see what you did what that intro and I approve :)

    • willm 4 hours ago ago

      I'm very taken by your response!

  • dc_giant an hour ago ago

    Cool idea but I want something this fundamental written in rust not slow laggy python.