A GUI is strictly more powerful than a TUI (because a GUI could just show plain text in cases where that is the most appropriate mode of interaction, E.G. Bloomberg, AMadeus), but it could also do so much more in cases where it is not.
I do love terminals, don't get me wrong. When what you're interacting with is CLIs and Unix tools in a shell, a terminal is exactly what you want. I do love the Unix philosophy, I like small and composable tools that you can use together, and I think the interactive way of working that a shell or REPL can give you is great (though notebooks would have been better, but that's beside the point). Those are things that the terminal shines at. Pretending to be a GUI is not one of those things.
Have you used Claude TUI? :-)
> 3. Often much easier to drive with automation software (agents/scripts)
TUIs? Not really. TUIs aren't composable, CLIs are. Now, many TUIs also have a separate CLI mode built-in, but guess what, many good GUIs also have a built-in CLI.
TUIs are also frequently harder to automate via click-click than decent GUIs, since mature GUI toolkits tend to have built-in accessibility and I doubt anyone has ever programmed extra accesibility into any TUI in history, outside of the default keyboard access they get because they're inherently character driven (though that can take you quite far).
I live my life in the terminal.
I use lazygit all the time. I integrate delta with it.
But I use vscode GitLens for diffs.
I always find the view port in lazygit to be too narrow. My feeble brain cannot work with so few context.
Spawn a Claude TUI where you need it and take remote control with no friction.
I tried it in codex and they messed up the flow so bad. You need to add a device oauth token every time you set it up even though it's already logged into your account.
I think there's 2 clear layers in these coding tools: the runtime engine that lives ON the system, can execute commands, read/write files, make network calls and the UI, which can be a local (TUI) or remote.
A remote UI allows you to manage multiple remote runtimes concurrently and can even be on your phone.
Anyone preferring Desktop vs TUI is not managing multiple systems I would guess.
Isn't the CC TUI written in React?? I mean my web dev "all i have is this hammer" brain is intrigued, but surely, there's better things to do? Like you said, the terminal is great for piping inputs and outputs, for scripting, for bulk operations. It's really not great for real time interaction across many files, which is how i use CC and kind of wonder how you would use it any other way. (I guess if you literally just prompt and pray, the UI literally doesn't matter?)
You can't even have 'tabs' inside of Claude Desktop, which is a dealbreaker for most power users.
The other problem is that all the GUI apps look different. I really want one extremely powerful, composable GUI “framework” that all apps sit within. Ideally I could even decompose and recombine parts of different apps into new tools or workspaces.
Now that anyone can build a GUI by prompting LLMs, maybe we’ll get actually good GUIs, or at least be able to build our own, but up to now the direction of travel has been disappointing to say the least.
Good GUIs with full keyboard functionality are definitely better than TUIs though. There's just no guarantee that some solo dev'd GUI for a brand new workflow can meet that standard.
? The GUI has nothing to do with that.
If you use Chat / Work / Code <- that's the differentiation.
So 'Code' in 'Gui' is identical to Claude Code except for the visual layout.
If you use Work or Chat, which are not optimized for Coding you'll see a different experience.
If you use iTerm or Ghostty and set a key combo to switch tabs you can very easily switch between tabs and the TUI generally gives more dense information.
Usually people migrate to TUI not the other way around.
I think that there are reasons to use GUI - if there is deeper integration with Git or an issue tracker - or - in VSCode - for navigating files etc. - definitely those things are valid.
But for raw AI the getting a TUI to work the way you want it is ideal.