ShinyLeftPad
4 days ago
> A native home for Claude Code, Codex and every coding agent. Every pixel is a file your agent can change. Close it, they keep working.
First two sentences give zero information what it does. Third one is useful but i think many harnesses do it?
Continuing:
> A new kind of agent workspace. Native and terminal first, with nothing between you and your agents. Every part of it is a plain folder your agent can rewrite, and every agent keeps running when the window is gone.
Okay, more of the same. Let's press on.
> Your agents run agents. And hear back.
> An agent hands work to helpers and keeps going. When they finish, their reports land in its input. No copy-paste between windows: herdr-core carries the messages.
Are there modern harnesses that don't do subagents/subthreads/whatever the same way?
---
There are some interesting bits but the vibed copy is for me offputting and a sign even the author might not understand what he made.
antihero
an hour ago
I've been using this for a few days now and it's absolutely fantastic.
gb2d_hn
4 days ago
Yeah that copy is pretty bad. My understanding (someone correct me if I'm wrong), but the herdr native app is an improvement over the existing TUI multiplexer, with a new API for facilitating comms between agents. Herdr is really useful if you've not tried it. I'll be giving this a go (I hadn't really been using agent comms between panes anyway, more just for workspace navigation). Seems you can think of herdr as a 'harness for your harnesses'!
thomasmurph
4 days ago
What's useful about Herdr compared to tmux and claude code or codex's built in sub-agents?
xionon
4 days ago
I can't speak to the GUI, just the TUI compared to tmux.
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.
malte_querier
4 days ago
I usually keep one tmux session per Python worktree, with a local Postgres test container in another pane. The status view sounds useful here; does Herdr detect waiting via agent hooks or infer it from terminal output?
seekup
3 days ago
Uses hooks for some, output for others - depends on the harness in the pane: https://herdr.dev/tui/docs/agents/#supported-by-herdr
alepar
3 days ago
May depend on harness, but for claude/codex its currently inferred from terminal output.
alepar
3 days ago
> What's useful about Herdr compared to tmux and claude code or codex's built in sub-agents?
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.
kakugawa
3 days ago
It also lets you message between Claude Code and Codex sessions. If you're using Claude Code, their built-in messaging system only can see/message other Claude Code sessions (for obv reasons).
This is an unlock, because these companies will (prob) never build this feature.
alepar
3 days ago
[dead]
asa123
4 days ago
I think i built something similar after herdr was released but i can say the reason is at least
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
hermannbjorgvin
3 days ago
If you prefer tmux orchestration you could give my plugin a try.
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...
sheepscreek
3 days ago
Integrated experience. You can connect to multiple machines and access terminals on them through spaces in the left nav. Agents across all spaces are listed in a dedicated section for quick access.
Each space is persistent contains persistent terminals like tmux, so disconnections do not affect them.
sheepscreek
a day ago
The original tui-app is more stable. I’ve had instances of my agents randomly getting killed on herdr-core + macOS app stack.
code51
4 days ago
I'm also curious, if you just ask Codex, Claude etc already do subagent management on their own, and if instructed, can certainly set up a structured communication system for the group. Why these Herdr, Pi etc products on top?
Is Codex, Claude Code mismanaging when no tokens left? Or any other specific reason?
Zambyte
4 days ago
> Codex, Claude etc already do subagent management on their own
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.
vehemenz
3 days ago
Herdr doesn't force any particular workflow, it's just a way to organize terminal sessions with built-in agent awareness
kelvinjps10
3 days ago
Subagent spends more tokens. It can be just separate sessions, just a new codex or claude session it doesn't have to be subagents that have to coordinate
s08148692
3 days ago
For me the biggest thing is subagents are harness agnostic
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
breckenedge
4 days ago
It adds some abstractions and a plugin architecture for extensions. I checked it out but ended up not using it. I run my own harness of harnesses over tmux centered around tasks rather than sessions.
norman784
4 days ago
I suppose it is just the convenience of having an opinionated app that works with agents out of the box, tmux could be more powerful but similar to vim vs vscode, you need to tune it in.
vehemenz
3 days ago
Compared to the usual agent manager guis, it's not even that opinionated.
tokyovigilante
3 days ago
The automated session resume/workspace restore after restart etc is quite nice, and copy/paste is much better than tmux.
the_real_cher
4 days ago
My question also!
gb2d_hn
4 days ago
Had a play with the native app - it's a complete new set of keyboard shortcuts from the TUI. Don't really see the advantage.
crefiz
3 days ago
Quite popular theses days, I imagine is just another competitor in the same field as T3[1]
_heimdall
4 days ago
It does read a bit like Claude was wondering around homeless in a foreign land and now has a native home. Good for him I suppose, immigration is not a fun process these days.
ShinyLeftPad
4 days ago
It does sound like that now that I think about it.
ctolsen
4 days ago
> Are there modern harnesses that don't do subagents/subthreads/whatever the same way?
At the end of the day it's a UX question. I could do the same as this (I use Paseo, similar thing, less obviously vibed copy in the docs if that helps...) with a bunch of terminal tabs and pi, and maybe some skills and scripts to help out, but it's a pain to manage.
DonHopkins
4 days ago
> A new kind of agent workspace. Native and terminal first, with nothing between you and your agents. Every part of it is a plain folder your agent can rewrite, and every agent keeps running when the window is gone.
They're unironically echoing the infamously iconic 1980 Calvin Klein jeans commercial starring a perversely sexualized underaged 15-year-old girl:
"You want to know what comes between me and my Calvins? Nothing." -Brooke Shields
https://www.youtube.com/watch?v=GiQUMypDNoE
Except in this case, the romanticized "nothing" between you and your autonomous agents is a massive, multi-layered stack of legacy Unix abstractions, sockets, remote procedure calls, historic terminal emulators, escape codes, pseudo-tty device drivers, and modern infrastructure slop.
The reality of what is actually sitting between you and your agents:
- A herdr-core background daemon handling JSON-RPC IPC messages.
- A crates/ghostty-sys Rust FFI layer binding against libghostty-vt.
- A hardware-accelerated GPU rendering pipeline drawing terminal cell glyphs.
- A legacy Unix PTY subsystem providing master/slave pairs and terminal line discipline.
- An ancient mountain of VT100/ANSI escape codes and termios settings, with resize requests traveling through IPC and SIGWINCH signals notifying Unix terminal applications.
- A structured agent-status protocol carried by yet another terminal escape sequence, OSC 7501, then exposed through JSON-RPC.
"Nothing" says unfiltered, raw human intimacy quite like reading output from a pseudo-terminal file descriptor and watching \x1b[31m error logs cascade through an SSH pipeline and "pseudo" TTY device drivers.
Wrapping this tech in branding that sounds like a sultry, pseudo-erotic pitch is peak HBO Silicon Valley. TTY literally stands for teletype. We are supposedly building the frontier of autonomous artificial intelligence, yet our cutting-edge orchestration layer still routes interaction through abstractions inherited from noisy, electromechanical printing telegraphs of the 1960s. It's not a "native home for your displaced AI souls" -- it's an over-engineered wrapper shackled to the physical heritage of paper rolls and mechanical carriage-return timing: 110-baud Teletypes, separate carriage-return and line-feed operations, and terminal null padding conventions devised to give machinery time to move before the next character printed.
d1sxeyes
3 days ago
Didn’t know that about Brooke Shields, I’ll try to remove that phrase from my vernacular.
That said the rest of it is, well, complicated. Of course you can come up with something cool and new that doesn’t require all that plumbing, but how do you get people to use it?
If you build a beautiful piece of software that no-one uses, what was the point?
hexasquid
3 days ago
Cool report