tmux is definitely usable but moving between workspaces/repos can be annoying if youre managing mahy many things at once. and difficult to organize. more over having agents manage other agents via tmux can lead to garbled input/output
i havent used codex. claude subagents i think arent the right comparison - the closer comparison would be claude managed agents. but i imagine one reason herdr might be better would be that you’re not stuck in the anthropic ecosystem
Is Codex, Claude Code mismanaging when no tokens left? Or any other specific reason?
What about together? Can you reasonably do agent to agent interactions across harnesses? herdr makes that easy.
One of my favorite reasons for using herdr is what I'll call "everything is a pane". Running a new agent? Runs in a herdr pane. sshing into a system? Runs in a herdr pane. Anything that runs in a herdr pane, your agents can interact with. I will often do things like ssh into a system in one pane, and then ask pi in another pane to help me do diagnostics on that system. It never has to try to ssh in directly in the harness with my credentials, it just sends keyboard input to the pane, and reads the content of the pane. I can watch the interactive session as it goes by.
Another workflow that I have sometimes is I'll kick off some work in an agent, and instead of making a new sub agent, I'll actually make a new parent agent if I get worried that it's going down an unnecessary rabbit hole. I'll tell the new agent something like "periodically watch the agent in pane X, it is working on Y but I am concerned that it is losing track of its tasking. Periodically review what it's doing, and make sure it doesn't go off the rails. If it does seem to be going off the rails, give it guidance to bring it back on track" and that seems to have helped.
herdr is very flexible, but it shines when you are working with multiple projects, with multiple worktrees, and multiple agents within those projects.
1. herdr uses workspaces to help organize tabs. Conceptually, a workspace probably maps to a project, but it doesn't have to.
2. herdr has native worktree support, and can create a nested workspace per worktree with a keyboard or CLI command. It can check out worktrees for you
3. herdr identifies agents across tabs and workspaces and pulls them out into an extra navigational pane. It shows the status of those agents (e.g. idle, working, waiting, done), and can play a sound when they change state. This helps you track multiple agents across multiple projects and quickly switch to them when they need help without needing to remember "claude is running in space 2, tab 3"
4. herdr integrates with your agents, which can control herdr's UI and rename tabs based on their status.
5. All this is scriptable via the herdr CLI, and agents are very good at it. But it also has full mouse support, if you're new to multiplexers its very easy to start interacting with it.
It's just a few bash scripts enabling agents to message each other. Works with the desktop apps as well so you could have a Codex or Claude desktop app orchestrate tmux sessions.
https://github.com/notaharness/plugins/blob/main/orchestra/R...
Agent status detection. Single view over local and remote agents. /herdr skill that lets agents list other agents, peek into their panes, send keys (yes, you can make a lot of it work with tmux and some elbow grease, but herdr provides nice cli/api for it and works out of the box) including to remote ones.
In my mental model, subagents are also different from top level agents in tabs: subagents are only great as temporary workers you never want to interact with.
This is an unlock, because these companies will (prob) never build this feature.
I used to hit usage walls with CC/Codex harness using native subagents
With herdr I delegate some work to another herdr pane and it runs Claude code, codex, opencode, pi, whatever model is appropriate and has usage
Each space is persistent contains persistent terminals like tmux, so disconnections do not affect them.