Comment by stingraycharles
5 hours ago
But I’m already using ghostty. I installed herdr but made the mistake of launching it from within tmux and had no idea how to close it.
I then opened it somewhere else, but I had no idea how to interact with it. I also couldn’t get two other windows to “join” the same herdr session, so I gave up and went back to tmux.
For someone who has used screen / tmux for almost 30 years at this point, what does herdr do that tmux can’t?
I use Claude Code extensively. I also use plannotator extensively, which is how I found out about it.
It's all about agentic work. Tmux doesn't know what an Agent is. You use Pi, you use CC, you use Codex, ... they all have primary supports in Herdr with built-in integrations around each of these harnesses
But if you don't do any agentic work, Herdr has 0 value vs. tmux.
I use Claude Code extensively as I mentioned, but what does “primary support” look like? Why should tmux “know” what an agent is?
I just use tmux with multiple ghostty sessions and I have different Claude code sessions behind different tabs and panes and work like that.
What am I missing out on that justifies now using a normal terminal+tmux anymore?
If tmux can know what an agent is, it can be leveraged to communicate with an instance of that agent (input and output) given it owns the PTY, and that terminal output can be structured somehow.
If it can communicate with the agent, it can be used to drive the agent - to send it tasks, and communicate the status of those tasks.
And so Herdr - and Superlogical, and others, is a tool which leverages PTY ownership and terminal protocols to allow orchestration of coding agents across vendors using their CLI surfaces.
overall not so much, but basically if inside tmux you have 100 terminals opened and only 10 of those has 'agents' it will allow you switch quickly between those 10 terminals without spending too much time on locating those. also it will show statuses about agents, is it work done already and you may need to check it and stuff like this.
2 replies →
True, but tmux is very configurable
https://github.com/hiroppy/tmux-agent-sidebar
Has been pretty nice
The point about libghostty is that Herdr doesn't try to reimplement shell forwarding or emulation, instead it uses the same code your terminal already does. This avoids compatibility problems with more complex TUIs.
Running `herdr` always opens the same session, the app is a just a UI for a server running in the background. But there is no reason to open it in multiple windows, the point is to manage all shells from inside it.
Then you can from another machine do `herdr --remote xxx.local` (over Tailscale) to access the same session, or use `herdr machine add` to get your shells from all machines at once - I don't really use this part.
From someone who also used screen and tmux for 30 years: 3 reasons why I switched to herder. They may not be relevant to you and in that case tmux is just great. One: visual indication which agent is working and which is waiting for an input. Two: native support for remote herdr sessions - in the same view. Three: it’s responsive and can be completely touch-driven through menus on a small iOS screen in Termius.
All of this, plus it knows what agent is running in which windows and what session that agent is working on. If you have to reboot, it can reconstruct all your terminal setup and restart the agents on the right session automatically.
I was looking into Herdr too, but could not bring myself to switch away from tmux yet (there are a couple of shortcuts that I have in my workflow, which I can't config in Herdr). What I ended up doing was to use the tmux agent sidebar, which, with mouse support, I think does a lot of the same things already.
For me, the main reason is the remote sessions. I can copy and paste text and files in a remote session with no extra config, it's amazing!
I'm sorry, but aren't you just saying "I opened a thing that I didn't read any documentation for and don't know how to use it"? Did you know how to use tmux without reading the docs?