I'm not sure the tmux project wants to evolve to support this natively so for now herdr seems like one of the best open and forkable options available. Considering how little I've had to really touch my tmux setup after getting it going I don't think it's necessarily the worst thing in the world if the FOSS community maintains a deshittified fork of herdr, should it come to that.
(shameless plug: I launch agents in tmux directly into docker containers with remuda, a tool I built at work & open sourced [0])
Anyway, I have a vibe coded script that shows me this overview for each of the agents I launch in tmux (hope this doesn't turn out mangled):
╭───────┬───────────┬────────────┬─────────────┬───────────────────────────────────────────────╮
│ AGENT │ PR │ REPO │ BRANCH │ ISSUE │
├───────┼───────────┼────────────┼─────────────┼───────────────────────────────────────────────┤
│ ready │ draft │ <redacted> │ branch1 │ Fix data race in e2e mock AssertExpectations │
│ ready │ │ <redacted> │ branch2 │ Modernize such and such │
│ ready │ open │ <redacted> │ branch3 │ JIRA-123: some sprint work │
╰───────┴───────────┴────────────┴─────────────┴─────────────────────────────────────────────-─╯
The agent status column (ready/working/etc) is just using heuristics from the terminal title (since a lot of harnesses have the live status in the title) or tmux capture-paneThe rest of the fields are either the gh cli or from beads, detected from the branch name (using https://github.com/Dicklesworthstone/beads_rust).
My session switcher is cool (shows the session name and the issue title + a preview of the issue details) but ultimately also along those lines; tmux itself doesn't do a whole lot, it's just being extensible and letting me run an fzf pipeline enriched with data from beads.
This works great for me personally but the part that actually pulls data out of the agent sessions is built on heuristics, and I didn't even attempt to get notifications out of it, I just side channel those out using peon-ping[1]
[0]: https://github.com/yendo-eng/remuda [1]: https://github.com/PeonPing/peon-ping
it seems like an awesome thing to geek out on.
but i keep claude code sessions running for days that sometimes get interrupted that are easily resumed. without the tmux latency or giving up aspects of rendering.
Tmux is highly keyboard driven and I hardly use any graphical applications outside of my browser. My workflow is basically the same regardless of whether I'm using Linux, macOS or Windows because my workflow lives in the terminal. If I close the terminal, I can continue the session and I can SSH into the machine from another machine.
It's also got a rich plugin ecosystem and is available on pretty much any package distribution. You can also preprogram your layouts if you always do your layouts the same way.
We (the stagex team) will naturally patch out any corpo tracking bullshit that may or may not happen in the future, and follow the dominant community fork should it be needed, as we did with terraform -> opentofu.
As long as herdr does not enshittify though, we will be happy to provide very high supply chain integrity releases for it as-is starting with probably next months stagex release.
Absolutely no problem with FOSS developers finding revenue streams to give themselves more resources to make their projects better.
My own company is 100% FOSS with nothing held back and will stay that way, even though we are in the current YC batch with more customers signing every week. Admittedly this is atypical, but it can be done.