| ▲ | Toad is a unified experience for AI in the terminal(willmcgugan.github.io) |
| 162 points by nikolatt a day ago | 47 comments |
| |
|
| ▲ | CGamesPlay 5 minutes ago | parent | next [-] |
| I strongly resonate with the problem statement, but this implementation was very far off the mark for me. Every interaction feels bad. I fired it up, and the first thing I notice is that the arrow keys don't work. I can't select Claude Code. Oh, apparently it's in a different control, so I have to press Tab, and then the arrow keys work. Wow, this list of buttons has a slow scrolling animation when navigating it. Can I turn that off? Press enter on Claude, now I'm in a tiny modal window. Press enter, because I want to do the obvious thing, but apparently the obvious thing is "show in launcher", so the background of the modal is weirdly changing while a tiny single character inside the button is indicating that this is the part I'm supposed to be focusing on. No, I want to do the obvious thing of running Claude code. You could easily fit the 4 actions of this form on my screen, but by choosing to use a tiny modal window you're now forcing yourself to use another modal drop-down control to choose the action and a separate" yes actually do it" button, so the OBVIOUS ACTION of RUN THIS AGENT requires pressing tab, enter, down, down, down, enter, tab, enter. Great. Now I'm at a chat interface with an error screen, because it isn't installed. Quit the program, restart, enter, tab, enter, down, down, enter, tab, enter to install. It shows a successful run of the "ACP adapter" for claude. Shift-tab, enter, down, enter, tab, enter. Now I'm back at exactly the same error screen because apparently the install didn't work. Now, I know that you need to be running "npx @zed-industries/claude-code-acp", so I check the docs and apparently I can "toad run COMMAND". But it doesn't work for multi-word commands. And my trial with toad comes to an end. So I can't test it for anything actually useful right now, but I'll add this to my list of projects to watch. Hopefully, being a UX-focused project, the creator actually focuses on the UX and fixes some of these silly decisions. |
|
| ▲ | mark_undoio 5 hours ago | parent | prev | next [-] |
| 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 5 hours ago | parent [-] | | 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. | | |
| ▲ | ra 4 hours ago | parent | next [-] | | I have written a coding agent which I plan to open up soon. By far the biggest time sink has been in the TUI - I've just implemented ACP and I really hope that I can use toad as a front end. | | | |
| ▲ | reactordev an hour ago | parent | prev [-] | | Does it work with local models? ollama? LM Studio? | | |
|
|
|
| ▲ | SoftTalker 3 hours ago | parent | prev | next [-] |
| The name Toad gave me a flashback to Tool for Oracle Application Development, an IDE and debugger for SQL and pl/sql back in the 1990s. |
| |
| ▲ | taude 3 hours ago | parent | next [-] | | 90s? I used that solidly into the mid-2000s! Worked across more than Oracle, if I remember correctly, was the DataGrip of it's time. | | |
| ▲ | shagie 11 minutes ago | parent [-] | | I use Navicat in the early 2010s for the "cheaper Quest Toad" (a regular developer could afford a few of their tools) and before DataGrip. |
| |
| ▲ | jefflinwood 3 hours ago | parent | prev [-] | | It's still around! | | |
| ▲ | shagie 3 hours ago | parent [-] | | Very much still around... and one of those "this (the terminal tool the HN post is about) might have some trademark challenges" given that every license of TOAD (Tool for Oracle Development) is bundled with some AI and the likelihood of confusion and overlap is quite real. ... and Quest really likes putting that ® after every mention of it. |
|
|
|
| ▲ | delichon 4 hours ago | parent | prev | next [-] |
| It would be a matrushka to run Toad in a Zed terminal. |
| |
| ▲ | willm 4 hours ago | parent [-] | | Pretty sure I could run Toad in Toad, but I’m scared to try. |
|
|
| ▲ | D13Fd 3 hours ago | parent | prev | next [-] |
| I’m not a big fan of the name Toad, but the Textual framework is fantastic. I’ve been using it for years in a small project and it’s just a wonderful tool - it makes it really easy to get a super fast little UI for scripts. |
|
| ▲ | _whiteCaps_ a day ago | parent | prev | next [-] |
| I'm really looking forward to trying this out over Christmas break. Textualize is awesome for building Python console apps. |
| |
|
| ▲ | jarbus a day ago | parent | prev | next [-] |
| This looks really cool. I wonder if they support vi keybinds |
| |
| ▲ | NSPG911 23 minutes ago | parent | next [-] | | Not planned for now I believe, you could try making a new Discussion for it. | |
| ▲ | wasted_intel 4 hours ago | parent | prev [-] | | First thing I thought of, too. If not, I hope it’s planned. I’m all in on TUI tools, and vi keybinds are a necessary part of that for me. |
|
|
| ▲ | browningstreet 6 hours ago | parent | prev | next [-] |
| 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. |
|
| ▲ | willm a day ago | parent | prev | next [-] |
| Hi. Will McGugan here. I built Toad. Ask me anything. |
| |
| ▲ | anentropic 32 minutes ago | parent | next [-] | | Just installed it... How are new agents added? Do you have to write a dedicated plugin for each one? Or there's some kind of discovery mechanism? (I was looking for Copilot, but I guess that will depend on https://github.com/github/copilot-cli/issues/222 ?) | | | |
| ▲ | lemming 5 hours ago | parent | prev | next [-] | | 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? | | |
| ▲ | willm 4 hours ago | parent [-] | | I don’t follow your first question. Toad already displays pretty diffs. MCP works in the same way as the native CLI. One of the advantages of Toad is that it is vendor agnostic. In the future Toad will be able to run sub agents, and allocate any agent to any job. Still to figure out the UX for that. |
| |
| ▲ | Cannabat 5 hours ago | parent | prev | next [-] | | 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 4 hours ago | parent [-] | | 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. |
| |
| ▲ | _ache_ 4 hours ago | parent | prev | next [-] | | I'm using ollama with local LLM for completion (tabby-ml) and Open WebUI for chat.
What will be the goto local ACP server working with ollama ? Ideally working with toad to experiment with it. | | |
| ▲ | willm 4 hours ago | parent | next [-] | | You may be confusing Agent Communication Protocol with Agent Client Protocol. Yeah, 2 ACP protocols. I had no hand in the naming. If an agent can be configured to use Ollama, then you could use it from a Toad. It might be possible right now. | |
| ▲ | evalstate 3 hours ago | parent | prev [-] | | fast-agent has ACP support and works well with ollama. Once installed you can just use `toad acp "fast-agent-acp --model generic.<ollama-model>"`. |
| |
| ▲ | jswny 13 hours ago | parent | prev | next [-] | | 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 12 hours ago | parent [-] | | 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 16 hours ago | parent | prev | next [-] | | 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! | | | |
| ▲ | dc_giant 5 hours ago | parent | prev [-] | | Cool idea but why python?! Rust please and I’m all ears. | | |
| ▲ | NSPG911 18 minutes ago | parent | next [-] | | The creator of Toad, made a TUI framework in Python (Textual). What is so special about Rust, aside from it being blazingly fast and compiled, that you want from it? | |
| ▲ | Hasnep 2 hours ago | parent | prev [-] | | The author is also the creator of the textual Python library for creating TUIs. The performance benefits of Rust don't seem very useful in a tool where you spend a few seconds typing in a prompt and then 90% of your time is spent waiting. As long as the UI is responsive when typing there wouldn't be much of a difference. |
|
|
|
| ▲ | fcarraldo a day ago | parent | prev | next [-] |
| 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. |
|
| ▲ | SamvitJ 15 hours ago | parent | prev | next [-] |
| I see what you did what that intro and I approve :) |
| |
|
| ▲ | shevy-java 3 hours ago | parent | prev | next [-] |
| Get outta my terminal! |
|
| ▲ | adammarples 9 hours ago | parent | prev | next [-] |
| 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. |
| |
| ▲ | willm 8 hours ago | parent [-] | | Guess you don’t like sci-fi movie quotes. You can change that to a simple pulse animation in the settings. It literally is using Claude under the hood. Should be no different than Claude’s own CLI. | | |
|
|
| ▲ | wey-gu 5 hours ago | parent | prev [-] |
| toad is next level in many ways |