Managing AI agent workspaces with Herdr
After configuring cmux and trying out Kero, I've been testing herdr as a terminal workspace manager built around coding agents. Each project gets its own workspace with tabs and panes, and herdr remembers which agent session lives where.
Everything sits in plain files under ~/.config/herdr/.
~/.config/herdr/config.toml settings and theme
~/.config/herdr/session.json workspaces, tabs, panes, agent sessions
~/.config/herdr/herdr.log plus herdr-server.log and herdr-client.log
My herdr config is small, a gruvbox UI theme with agent labels on pane borders.
[ui]
status_indicators = "symbols"
show_agent_labels_on_pane_borders = true
[theme]
name = "gruvbox"
auto_switch = false
[ui.toast]
delivery = "terminal"
I run herdr as a TUI inside the Ghostty terminal. Ghostty reads the same config file my cmux setup already used at ~/.config/ghostty/config, so the terminal look carried over as-is. I only changed the theme to Gruvbox Dark and left everything else default. Here's how it looks currently, but obviously I will keep improving it:
Herdr detects the agents in each pane and shows their state, working, blocked, or idle, right in the sidebar. And it's all just so convenient to use and manage.
Everything is saved to session.json, so reopening herdr brings back every workspace exactly as it was, which was the one thing I missed in Kero and it somewhat worked in cmux but wasn't reliable. I'm still testing it alongside cmux, but it's looking like it could become my permanent setup, eventually.
Apart from this, the most clear, to the point, and convincing video I ever watched about herdr is this one from Jilles. This video is the reason I installed and started using herdr.