This sounds like a mashup of of several things I've been playing with lately...
- pi-web (https://pi-web.dev/): a web frontend for the Pi coding harness which can multiplex pi sessions across multiple machines
- herdr (https://herdr.dev/): a fairly polished agentic multiplexer TUI, can easily spawn or destroy windows based on subagent activity
- firstmate (https://github.com/kunchenguid/firstmate): a meta environment for coding harnesses - more naturally handles spawning and communicating with subagents, managing worktrees, and other SDLC functions, and has a fairly large number of constraints thru bash scripts to ensure better results with less intelligent models
These tools all assume you have machines to run the agents on. But for parallel agents I'm pretty convinced you want each agent on its own isolated devbox running your dev environment (not e.g. worktrees on one box) - which isn't trivial to set up and manage.
I'm working this with https://boxes.dev - a workspace for launching and managing claude + codex sessions, each running in its own cloud devbox.
We launched with a desktop app but have gotten a lot of pull for terminal-driven workflows, so have a TUI as well. It's interesting - when the Codex desktop app launched I was so sure that GUI is the future for coding agents (it's just a chat!). But turns out there's no killing the CLI
Running on a Cloudbox has its own set of problems. Some projects need desktop GUI tools (particularly desktop apps themselves, but some may also want these for profilers / debuggers etc). Some projects need USB. Even if you don't need any of those, you need to figure out what to do about build caches, package manager environments, credentials / secrets, VPN config, shell customizations, and those are just a few things that come to mind.
I do like having a permanent, remote workbox, but am a lot less keen on the idea of ephemeral boxes unless you're a company willing to invest into that infra.
I stopped running Claude on the terminal and use only the desktop app now. It had lots of advantages in my opinion. The terminal is really limited unfortunately, don’t know why so many devs still stick to it, and I used it for 30 years.
I'm using Hermes but these should apply to any agent that has both TUI and GUI versions. The GUI version will have:
- drag and drop
- show document type, icon and filename
- inline images
- variable fonts, esp. monospace for code blocks
So GUI is mainly about readability. CLI works fine too but is inherently limited. I think GUI agents will keep pushing further in information layout, rendering, retrieval and interactivity. We're just at the beginning of it.
Even more basic stuff like copy and paste, which works like everywhere else except the terminal. Can you paste something in the middle of what you already typed in your terminal? Not in mine. It can highlight the stuff as you type it , though some terminals can also do that somewhat. It has a list of my sessions so I don’t need to have lots of terminals open or juggle them with tmux and stuff like that. I can actually click on a command to see its output and expand individually thinking sections and so on. I can review code on a side bar instead of losing the text box I am writing on. There’s probably hundreds of more advantages you must really make an effort to not see.
The only advantage of the terminal is that it’s easier to use on remote machines. I can’t think of anything else, even the usual benefits of composing commands is not relevant for a CLI like Claude Code.
I've been working on collie[1] a plugin for herdr that runs a web app on the herdr host which can then be served via tailscale for example. This has made accessing my agents on the go a lot easier, paired with session persistence from herdr it's been quite nice to work with.
I don't understand herdr, can you explain it to me? I've tried it, but I don't understand what it gives me over tmux other than the agent sidebar. But people seem excited about it so I feel like I am missing something.
It's built for ai agents, tmux works but isn't designed for an ai workflow. Herdr is also very well thought out, not just the design/approach but also the interaction and mouse support, responsive support, etc. I had been using tmux, switched and haven't looked back.
> It's built for ai agents, tmux works but isn't designed for an ai workflow
So an opportunity to learn the Bitter Lesson [1].
If tmux is good enough for people today, it should be good enough for agets tomorrow. That gap might comprise a beachhead. But you'd better scramble off the shores onto something more defensible fast.
You say this like there's no value in a transitional technology. Yes, tmux should be good enough for agents tomorrow. But here we are, today.
Also, herdr is just an open source project with no VC capital behind it. So I don't think it needs to scramble to something more defensible. It can live a happy life pleasing users and then fade into obsolescence.
> Yes, tmux should be good enough for agents tomorrow. But here we are, today.
tmux is good enough for agents today. they're great at driving it, they're great at customizing it, what's the problem people have with it? i am confused.
I'm sorry but I am still confused. What specifically does herdr give me over tmux? "It is designed for agents" is just marketing speech, it means nothing. Ok, it has mouse support, fine, I don't care about that one but I can see how it's useful to some people. That has nothing to do with agents though. zellij also has a better user experience than tmux, so you could just use that or any of the other dozen multiplexers.
I understand it has the agent pane on the left that tells you what is running but... that's it?
Realistically, what I use about its agent stuff is:
- reliable notification pings either via what your terminal app uses (e.g., ghostty's) or system or just within herdr only
- if absolutely necessary, be able to tell agent sessions to observe and run commands on a herdr pane (security beware, for obvious reasons)
- herdr --remote which is basically a quick SSH -> attach to herdr on a remote
- prefix+g (equivalent to prefix+w in tmux) presents itself nicer, has binds for agent state filtering and its /search imho is mildly nicer than tmux's
Arguably, you can have the same points in others if you know how to configure tmux or zellij already, so if you're comfortable with that then you really don't have to use herdr.
There is a cross platform terminal notification cli that I used to vibe code notifications in like 5minutes and I have traffic light indicators on my tmux panes showing when an agent is waiting. The other things are also all possible. An agent is super happy to remote control tmux, it knows all the commands!
Yep, I did similar stuff too! Used something like ntfy to push notifs to an Android or just whatever commands are available on the OS you're in (e.g., `notify-send`). And for state reads herdr has `herdr pane read` while you can happily accomplish similar results with `tmux capture-pane` or similar.
IME yes that’s basically it. Other features haven’t really been significant value add for me. Some of the keybindings are different in minor ways. It has some mouse support but I have found that it doesn’t work well with certain apps/selections (eg: less).
It’s fine.
When running many agents something like the “idle/working workstreams” gutter is honestly helpful though.
I don't really get it either. I installed it to try it out, but I still don't understand why it's getting so much attention. I don't even use tmux. My window manager already gives me workspaces, splits, and tiling, so I don't need those features there. I also prefer focusing on a single project instead of juggling five at once. And I don't really care about notifications. I just switch back to the relevant workspace and check on things when I want to. So apart from the agent sidebar, I'm not seeing what problem it solves for me either.
you miss the multiplexer part. multiplexers are awesome if you have them on a persistent machine like a server you SSH into. To me herdr feels more like a modern alternative to tmux or zellij with the agent features being a nice add on.
I rebuild herdr from master every few days to gauge the direction it’s moving in.
What herdr gets right over zellij:
- Default keybinds don’t conflict with helix. Even the leader key mode in zellij keeps alt-bindings around. Herdr keeps things nicely tucked away.
- There’s beta support for the kitty image protocol. Three years on, we’re still waiting in zellij.
- Notifications get passed correctly through to the terminal.
As for herdr’s killer feature, agent status monitoring, there is apparently a zellij plugin.
Big win for zellij: the docs and code feel human. By contrast, herdr’s docs have all the tells of a vibe coded project. Not to say the maintainer hasn’t put care into it! But I’m getting burned out on LLM docs.
I started to use tmux-claude-session-manager (https://github.com/craftzdog/tmux-claude-session-manager) in tmux, to have a pop-up to see all active sessions. I don't have many in parallel, so usually I don't even need, but if I'm lost or forgot one, it's really helpful.
It workss a lot better for me especially copy paste which was always flakey af for me in tmux no matter what plugin i tried. 2 dimensions of panel amalgamation is suprisingly beneficial to my work flow organization too. The ai m(nitors would be useful if i cared about that. Herdr spreader plugin gives me tmuxp like behavipur especially with the herdinator.sh script currently in issues. Overall a big improvement over tmux without the bloatey slow feeling of zellij
It also doesn't have copy-paste buffers, which makes me sad. Relies on OSC52 support / system clipboards - and when you are 3 emulators / tunnels deep into a connection - rarely works.
For now I didn't find anything that really works better than using termux on android or echo on ipad, ssh into my desktop with tailscale where I have a tmux session I can attach to. "Input" seems to be the biggest struggle for me versus a normal desktop+keyboard setup. On ipad I use a nuphy bluetooth keyboard which works pretty well and on android I use FUTO Keyboard with voice input.
Overall I think I don't even want to start coding too much on the go with a setup like this but it's nice to have options :)
The first app in this space was VibeTunnel[1]. It basically lets you start terminals on your Mac and the web app allows you to control these terminals on your iPhone using Tailscale. In the end, it’s just terminals on the web with organization around it.
I forked VibeTunnel and turned it into a Next app and added workspaces with memory and turned it into a software factory which is making open-source alternatives for me while I sleep. I call it VibeGhost and will be launching it soon[2].
Why are you wasting households worth of electricity, and money, while people in this world starve so you can copy perfectly fine open source projects? You llm people have lost the plot.
Frankly I don't know a single person who does all this extra meta-agentic customization that gets anything done. You all are like the people who do nvim configurations all day and think they're being productive.
Yes and Opensource.Builders is a directory of open-source alternatives where I post the ones I build as well. It's different than other open source directories since we track features in the code instead of just arbitrarily saying one thing is an open source alternative to another.
For Openship, the end goal is a decentralized marketplace.
Pardon the plug, but I thought I'd point out that I think SciCommander [1], or the ideas behind it, could be very relevant for this stack.
It does capture a provenance graph for any ad-hoc shell commands executed in the shell mode, or if prepended by `sci run`, by tracing all new files created from commands, and creating an accompanying json file for every output with metadata, which can later be assembled into a graph specific to any output file, using the `sci tohtml` or `sci toshell` commands (producing an HTML report with an SVG graph, or a reproducing shell script, respecively).
I'm quite bullish of the possibilities with this approach.
And, this was in fact also born out of the thinking to "rip apart" workflow tools, and build them up again using small, well-defined tools that do one thing well.
Not the OP. I tried Orca for a few days, though I liked being able to manage git worktrees from the UI and being able to leave comments for the agent while I'm reviewing the diff, I found editing experience too slow for daily use. It's also missing some minor polish issues (vim bindings, being able to change default shell etc.) that were deal breakers for me.
As someone who has never used sublime I don’t get the analogy, but what do you like about herdr? Is it worth using? I came across it along with hunk at the same time and I’ve been using hunk a bit but didn’t really see the appeal of herdr over just my usual batch of terminal windows.
Herdr is my daily driver. It is lightweight and snappy while also being customisable (hence the Sublime Text analogy). I like that, while it supports tmux-style shortcuts, you can also use the mouse, so the learning curve is very gentle. In addition it's cross platform (Mac/Linux/Win) which is great for me because I needed something I can use on different machines.
- pi-web (https://pi-web.dev/): a web frontend for the Pi coding harness which can multiplex pi sessions across multiple machines
- herdr (https://herdr.dev/): a fairly polished agentic multiplexer TUI, can easily spawn or destroy windows based on subagent activity
- firstmate (https://github.com/kunchenguid/firstmate): a meta environment for coding harnesses - more naturally handles spawning and communicating with subagents, managing worktrees, and other SDLC functions, and has a fairly large number of constraints thru bash scripts to ensure better results with less intelligent models