I've made a terminal that is essentially ghostty + herder, but all natively and has a session persistence. https://thurm.rs
there is an ios application in testflight and web client, nothing is on the servers, using tailscale through clients or you can use classic remote hosts.
hehe, I also have done the same, but I'm building on top of tmux. Though much more minimal in scope. https://kido.tools (website showcases the TUI only but there's native macOS app in the PR which I'm using but still refining).
p.s. it has a daemon and automatically installs claude/codex/pi skills so the agent knows how to control and script the panes, tabs and everything else. It is also heavily inspired by Rex's design.
I went down this path over 6 months ago and had a variety of custom setups using tmux, cmux, and more. But since using Orca IDE it feels like a leap in usability and robustness.
I used to use tmux & Claude on a Mac mini, but I gave it away when herdr came around - there were just too many tmux sessions to maintain and herdr does a better job at showing you what’s open. Admittedly, your tmux setup looks far more sophisticated than what I was doing. However, the new claude code projects is insane and a step above on having claude being a real project manager across sessions.
I really liked Tmux and Zellij for the time being, but Herdr does it all so much better out of the box when it comes to agentic coding. I haven't found something I can do with tmux/zellij but can't do with herdr.
My only problem with herdr is its propensity to randomly crash and take out the whole session. At one point it was crashing once or twice a day, recently it’s more like every two weeks, but it still crashes. I have auto session resume on but that still means ongoing work is interrupted and I have to manually restart all the long running non-agent processes.
As a result I still run sessions and processes I really don’t want to lose inside tmux, nested inside herdr. Tmux never crashes.
If you’re mainly just using Claude Code, “$ claude agents” view is a good alternative coupled with tmux. I’m curious if herdr does other things though.
Been using tmux session to hand over to claude for a while. Paranoid me uses the macbooks secure enclave with fingerprint for the ssh key so claude can't ssh into my remote boxes by himself. I then open named tmux sessions, perform the ssh login via fingerprint, and then tell claude that he is free to take over that session with a given name.
Firstly, I want to sandbox my agents from each other and from my hard-drive, and partition (and encrypt) secrets, so I use (and wrote) byre[0], and run a devbox with long-running agents for certain tasks. TermRover[1] is a pretty good SSH client for tmux. For a more native integration I have started using Happier[2] which provides a web front-end and iOS app for my sessions too (unified with real Claude Code, so handover is seamless), and put together a byre skill[3] to make that easy.
Isn't this the wrong architecture? Fundamentally, a coding agent should be running as a headless/detached process, a daemon. If it needs a CLI then that CLI can attach/connect to that daemon and interact with it. If you architect it that way then you can quit and resume the CLI anytime you want, from any machine you want and with whatever UI you want, the daemon doesn't care. Running the agent as an interactive CLI process which you need to stuff into something like tmux is just the wrong approach, and "connecting" to it by reading/scraping its screen is terrible.
The text content occupies like 20% of the screen, the rest is empty. Resizing the window helps.
there is an ios application in testflight and web client, nothing is on the servers, using tailscale through clients or you can use classic remote hosts.
We should compare notes!
As a result I still run sessions and processes I really don’t want to lose inside tmux, nested inside herdr. Tmux never crashes.
Firstly, I want to sandbox my agents from each other and from my hard-drive, and partition (and encrypt) secrets, so I use (and wrote) byre[0], and run a devbox with long-running agents for certain tasks. TermRover[1] is a pretty good SSH client for tmux. For a more native integration I have started using Happier[2] which provides a web front-end and iOS app for my sessions too (unified with real Claude Code, so handover is seamless), and put together a byre skill[3] to make that easy.
[0]: https://github.com/pjlsergeant/byre-happier-claude
[1]: https://termrover.sh/
[2]: https://happier.dev/
[3]: https://github.com/pjlsergeant/byre-happier-claude