I used to use ChatGPT/Claude in the TUI up until like 3 months ago, but my usage of LLMs has exploded - many sessions across many projects. I feel like I outgrew the TUI and now I'm using ChatGPT/Claude desktop. VS Code has become a code review tool and place where I manage git if need be.
The GUI is less verbose with the nitty gritty hidden in expandable sections, which makes history easier and cleaner to scroll through, also no scrolling bugs, rich text is easier to read with tables, and images integrated into the chat, resources like browsers in the context of the session. Drag and drop session organization (pins), scheduled tasks, etc.. all that in the side bar.
Usually a TUI would be open in VS Code and scoped to whatever repo I'm working with so 10 projects, 10 VS Code instances open, not super scalable. With the GUI desktop app it's one app, and I can start sessions in an repo and switch between them easily, no need to open VS Code for each. I don't see what could make me want to go back to using a TUI.
Who else is just using the GUI nowadays, or are you still on the TUI, and why, have you tried the GUI interfaces?
I find TUI scales better for multiple concurrent agents across the same and different codebases, especially using tools such as herdr. I can fire off an agent, which runs sub-agents. Then check-in periodically to re-steer as needed or be interrupt driven for completions of tasks. I can't see how vscode/GUI is better for this?
I also switched to GUI and can't see going back, I think the TUI is kinda cosplay for people wanting to feel closer to the code.
You can get something to manage TUI sessions, but GUI has that by default and is better than the tools I've seen for TUI.
My one thing with the GUI is sometimes I wish I could have more windows open but /side solves 95% of those issues.
I just ended up making my own GUI. I never really liked any of the pre-build ones. It started slow (3-4 days of work) and grew organically around my working style. I can also have my preferred UX (e.g., high information density).
Take a look at the Codex App Server or the Claude Agent SDK as a way to communicate with harnesses running headlessly and build your own UI on top. I’m sure Pi can be set up in a similar fashion.
I hear people swear by https://github.com/getpaseo/paseo
Not only it's a GUI in client-server topology, it can also orchestrate the agents to work for you.
Haven't tried it yet.
I can't deal with first party anthropic clients because they're not open source. Think about how long it took them to relent on supporting AGENTS.md. Being subject to that kind of hostile imposition is a non starter for me when such excellent open source alternatives exist.
I don't use the first party codex clients because they don't offer the same level of control as Pi. I just can't live without `/tree` and the ability to use headless neovim as my prompt editor. Maybe there's a decent plug-in system for codex at this point but it would have to actually be superior to pi's for me to consider switching, since I prefer to keep a single harness for all my agents (both OAI's and actually open AI like Kimi), but I might if the product were compelling enough.
As for well-designed open-source third-party harnesses; I'm not at all opposed to GUI. I used conductor and liked it, but again was disappointed by the level of control it provided. And once you get comfortable enough in tmux, it's actually pretty difficult to get a better user experience from a GUI. For instance, scrolling and using the clipboard in tmux are both far more powerful and convenient for me than dragging the mouse or spinning it's wheel. But I anticipate there being a really excellent GUI harness at some point!
I went the same way but found that the GUIs (Claude and Codex Desktop) are still too low-level to scale well. They are basically just tabbed chat windows. I wanted more structure and more targeted UX for managing my work. It's easy nowadays to build your own GUI, so I did.
(I found it's still quite some work to polish it so that it's actually good. Therefore, sharing it could still benefit others, so I did: obeya.si, free, open-source)
I graduated from Claude Code to Herdr to now T3Code.
T3Code can do anything I might need such a tool to. It supports a bunch of different harnesses, therefore also subscriptions. It supports running agents on different servers, from the same GUI. Mobile app that works well. Orchestration that allows any agent to orchestrate others in T3Code directly.
> now I'm using ChatGPT/Claude desktop
Same, it's lovely software for that mode of work!
I also briefly tried out other ADEs, like:
- Kepler (by the GitKraken folks) - https://www.gitkraken.com/kepler
- Paseo - https://paseo.sh/
Kepler had a really nice issue tracker integration but the UI was very vibey and not quite as to the point as I'd like (who needs graph visualization of what the agents do, just give me tools that work), and Paseo had a really nice UI that I could use to drive both Codex and Claude Code, but some OpenCode agents would sometimes hang and I didn't have tools to really do anything about it.
Maybe I should also give JetBrains Air a look again, if I ever end up subscribing to them again (I just moved to Zed for my code editing): https://www.jetbrains.com/air/
Interesting space, with so many additional tools popping up! That said, the OpenCode TUI was really pleasant too.
The TUI thing always felt like a gimmick to me, it lets non-technical people feel like they’re doing something technical.
I switched from a TUI to OpenChamber, Paseo and now T3. The main features I need are :
-Annotate code diffs and LLM replies.
- Manage multiple agent windows and a branching workflow. I like to ask a lot of questions and go down rabbit holes.
- LaTex rendering.
I will switch to Zed for deeper code exploration and git management.
None of these tools are super mature, I only went with T3 because it seems the furthest along and it’s mobile apps are great, but I see a lot of progress being made as people start to accept that the TUI is more gimmick than optimal workspace.
> The GUI is less verbose with the nitty gritty hidden in expandable sections
Much of the nitty gritty is hidden in expandable sections in Claude Code in the terminal now too. Complete with mouse clicks to expand.
> Usually a TUI would be open in VS Code and scoped to whatever repo I'm working with so 10 projects, 10 VS Code instances open, not super scalable.
For my part I'd left-arrow in Claude Code, which gets you the agents backgrounded, so you can switch to any of them in any terminal. Then if I feel the need to look at the code separately I'll work on that in a separate tab. I use a few scripts to assing a default working directory per virtual desktop, so any terminal I open in a given desktop is scoped to the project I work on there anyway.
Not trying to convince you to switch - whatever works for you. For me the TUI harnesses + other terminals in a tiled setup is integrated enough that an IDE doesn't feel worthwhile.
""GUI is less verbose with the nitty gritty hidden in expandable sections, ""
? 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.
No I’m not using any GUI because (1) I regularly ssh to many different computers without any GPUs to run Claude; (2) the sandboxing tool required by work is built for TUIs because it highly restricts many kinds of file accesses including ioctls but basically exempts fd 0 and 1. I don’t think /dev/dri even exists in the sandbox; the Firefox browser does not run inside it.
I do not find the arguments against TUI convincing but that is just my experience. I use ghostel and searching in the conversation is so easy. I do not see any major scrolling bugs; I see a couple of small rendering bugs easily worked around by pressing C-l. I work on many projects simultaneously too but I do not understand the need to open one editor instance per project; I have one emacs for everything.
I switched to the Linux desktop as soon as it was available to avoid all of the TUI rendering bugs and restore sensible copy/paste. I was using vscode's git panel to review diffs before they got committed, but had a feeling that there had to be a way to make agents pull harder so my review wasn't always the long pole in the tent.
Imagine a local GitHub PR web UI (thanks to difit), married to your agent for real time in-context discussions, and built-in skills to teach agents how to write easy to follow PR, focusing on both why's and hows.
Last night I released gavel that scratches this itch: it's open source, so fork and enjoy. https://photostructure.com/coding/gavel/
I've tried the ChatGPT/Codex GUI and actually liked it. However a big part of my workflow relies on multi-agent orchestration between codex and claude code, which is still much easier to achieve in the TUI with tools like herdr.
I've lost faith in the ChatGPT desktop app. It's nicer than managing a bunch of TUI sessions, but it's so prone to losing session history / context.
I switched to the GUIs half a year ago and never looked back.
From the text rendering and scrolling alone, they are much more pleasant to work with.
Conversations with activity and MR status indicators, nested sessions, images in the chat, and generally more information and functionality on the screen.
One negative is that it gives Claude, and particularly Codex, room to mess up with auto-opening artifacts.
Codex, when I was still using it, kept opening report or comparison pages in fullscreen when I did not ask for artifacts.
Claude loves to open its iOS simulator pane, but somehow never displays the one it's actually using, instead showing a simulator that is idle. It might be related to my custom tooling.
I thought the TUI was the ultimate power tool and loved the original embrace from claude code. I still use TUI a lot, but have been using deepseek harness web app atop my local model and am already liking the better organization and UI of this interface. I can see my load shifting to it. But you are right, you almost always need a VS Code interface open as well.
The outputs of Opus 5.5 were so much easier to read, but I do find the the deepseek web based tool much easier to comprehend for some reason. Plus I can access it from phone (over tailscale) as well when out and about and continue sessions very easily. AND it is all open source/weights. I'm pretty thrilled, but it's been less than a week.
Went from TUI to gui. Main reason because I mostly let the computer do the work and control it from the phone. Was doing that over ssh but the remote web tools are better. Had to write my own wrapper for antigravity because how the google login is handled but hey. That’s what LLMs are for.
I also wrote a chat app between my machines that works over tailscale and can run agents on each.
Claude Code - TUI scrolling bugs and overall no project history is annoying. Having all your projects on the left in the GUI, gives me some peace of mind. I usually had several terminal tabs open previously.
I am not a terminal head, but I find it simpler to drop into a dir and codex from there. In the GUIs, I often mistakenly end up under the wrong tab (Chat/Work/Code) and if I am in Chat, sooner or later the thing will ask me to switch to Work. On the other hand, the GUI provides the history of threads. I semi defeated this by using hooks to write questions and answers to an SQLite db.
I dislike the harness TUIs for this for the same reasons. Nothing against TUI in general, the lazy* universe for example is great.
OpenChamber (the desktop app, not the VSC extension) for OpenCode currently works best for me. Especially because of its seamless remote control via their iOS app.
> Who else is just using the GUI nowadays, or are you still on the TUI, and why, have you tried the GUI interfaces?
I generally prefer GUIs but I'm OK with a TUI harness. Anyway, there's a web frontend for Pi (https://github.com/agegr/pi-web) which looks very promising although it still has some rough edges. They even have an interactive demo: https://agegr.github.io/pi-web/
I'm not associated with the project.
I also like the inner text display of the GUI more, but the window management of it terrible IMO. On my Mac I have 3 desktops open, one for "private" and two for a project each. With the Claude TUIs I just have 1-5 open terminals per desktop, each with its title neatly set automatically. With the GUI app, I can only have 1 open, not one per desktop. It seems you can open several very reduced versions of the Claudr app with a single chat but that didn't work well for me. So that's why I'm still with TUIs..
I’m being slowly forced to use a GUI at work, and it’s fine, but I simply prefer the TUI.
I use:
claude agents
Granted, I run it as a terminal tab in my editor so that I can look at files. I prefer the TUI in a tab instead of the editor’s half-assed plugin. These days, however, I mostly look at PRs in the browser.
For my personal work I still prefer to let the agent edit the local files so I can preview the changes in my editor. I avoid PRs in my personal work.
Some of it is the historical snobbery that CLI users have for GUI users. I count myself among them. Isn't it way cooler how I can fix my NIC with just three chained bash commands, while the windows users have to navigate 8 levels of dialogues?
But that mentality doesn't leave room for a lot of nuance. Even the most hard core TUI proponents and neovim gurus probably do not use Lynx as their browser (well maybe they use a vibe coded hacker news TUI client instead)
Biggest reason I hate TUIs for chats: copy/pasting text from a terminal fucking sucks. Super limiting. (Not that I’m copy pasting code around, but even copying stuff to a message or spreadsheet, or even to a terminal to run myself)
I’m very confused by the replies to this, I have a native GUI for pi, and it enforces all the sandbox policies, remote access, etc. I want while also giving me buttons and nice text rendering. It’s really not that hard to make.
I've always been bewildered by how people seem to prefer TUI for any of this. It's just a strictly worse experience across almost every dimension.
I was using vscode copilot chat for years, but recently got fed up with its bloat, as well as the fact that their supposed unified experience across desktop, web etc just doesn't work.
I tried various gui tools and settled on Open Chamber. Extremely happy with it after a few weeks full time usage. Rarely open vscode.
I was confused until you mentioned you were running it in VS Code. That issue goes away if you run it in a standalone terminal with tmux or tabs.
Im also using the desktop apps (codex/claude). Using the tui doesn’t bring any advantage anymore. I can drag and drop pdfs, images, i have the browser view, can easily switch between conversations, fork them at any point.
I use whatever IDE to review the code, read tests, etc. I used to use the terminal for everything prio AI, but not anymore.
Just GUI now. I can also connect to Mac Codex from my phone and have a voice chat with it. Collects all my work in projects, can jump in and out anytime. Can start a project on the phone, move to Mac. (Almost) No sync issues, which I found the TUI/phone had.
One of the very first thing you should do is stop using vscode’s terminal.
Use something like Rex, Ghostty, kitty or whatever floats your boat.
You will have a much better experience.
I use the terminal for most of my agentic workflows.
I still use vscode, but only for diffing and the proprietary devcontainer stuff.
So is the link to the article, here, that you think the switch to this GUI would be better than the switch to Pi? Otherwise I don’t really see the link to the blog post.
I mostly use TUI because I have agents running on different servers over SSH.
I often need agents on one server to talk to a different agent on another server through tmux, and it's just much easier with TUI.
I use Konsole with a tab per TUI, and the page up/down buttons on my thinkpad for switching tui sessions quickly.
Same here, also mostly use the gui apps, main reason is that I do a significant part of my work on an iPad or iPhone.
Im still on Emacs with the awesome agent-shell. The use of LLMs have made code review the top prio for any serious development. I basically did a custom theme that shows git diffs inline, then hook that to magit. The final thing is the review process, here i can "talk" to an LLM directly from the code, and ask for changes, or a rewrite when i see slop.
This has been a solid setup, and a must have for agentic development.
No idea what you're working on, but if it's anything involving sifting a lot of data, how do you know if your code actually works or does what Claude says it's doing?
is it good now? last year claude GUI was awful, lots of bugs and straight out missing a lot of features
I'm still using the TUI. I've ditched my IDE and use Sublime Text with LSP for code reviews and navigation. It works great for me.
I wanted to use the Claude GUI but it wants me to enable developer mode just to run it on Windows.
Using it with Zed + pi-acp is amazing honestly
VS Code now has the agent mode, but if you have already moved on, there is no point in coming back.
How do you handle the errors that the agents make?
How do you handle the potential errors that might be hidden in parts of the code you don’t understand anymore?
Or do you have 100% understanding of the generated code?
Would love to use a GUI, however it doesn't work properly for WSL either in 1st party or 3rd party clients like Orca, so I'm stuck with TUI
I'm using pi with herdr/ovis, which gets me both a GUI and a TUI. There's a Chat/Terminal switch, which is just a different view of the same pi session. It's got a decent mobile web UI, and I've been really liking it so far.
I’m using one iTerm to host the TUIs. The RAM cost is a tiny fraction of modern electron-based gui slop
I went from TUI and tested several GUIs that can also support a "TUI" view.
After testing several options at the moment I'm using Orca IDE as my daily driver - effectively as a layer on top anthropic / openai
- Supports both anthropic and openai with subscriptions and can you swithc easily between those two + other LLms
- Its a bit hidden / non intuitive to setup but it does support running everything on remove host -> I run (95%) of my jobs on remote hosts that I can both access from my laptop + their native app via a wirguard vpn
- You can switch between chatview + TUI on the same conversation - very useful if you move e.g. from desktop session to mobile view.
- For repeating LLM tasks Orca also suports a kind of scheduler - but I prefer currently to have the agent set things up via chronjobs on the remote machine (not super happy with this ...)
Key reason I dont want to go fully ChatGPT/Claude is also I dont want to build a super strong dependency on those mega players and remain the ability to switch to other interefernce providers / models.
As LLM usage is already a core workflow in our company - a sudden unavailability of one or a massive price increase - makes it absolutely necessary to build out alternatives.
We all know the downsides of SAAS Lock in too well from the 2010s. In that sense Fool me once, fool me twice..