Moving to Herdr from Tmux for a More Agentic Setup
Herdr replaces tmux as the multiplexer, and Claude Code's Agent View gives me a real dashboard for parallel Claude sessions—but nothing equivalent exists yet for Codex or Pi.
I switched my daily driver from tmux to herdr. Not because tmux got worse—it didn't—but because more of my work now runs through agents, and tmux has no concept of that. It just sees another process writing to stdout.
Why Tmux Stopped Being Enough
Tmux's model is panes, windows, sessions—built for shells. An agent isn't a shell command, though. It has state: waiting on input, actively working, done, failed. Tmux can't represent any of that; an agent running in a tmux pane looks exactly like tail -f on a log file.
Herdr's model is built to handle this: a workspace is the top-level container, one per repo or project. A tab is a layout inside a workspace for separating different views—agents, logs, a server process. A pane is the actual terminal where a process runs, split horizontally or vertically same as tmux. An agent is a recognized process inside a pane, and herdr tracks its state explicitly: blocked (needs input), working, done (finished, unseen), idle (finished, seen), or unknown.
Herdr detects agents via "foreground processes, screen manifests, and optional integrations"—a general detection layer, not a feature tied to one tool by design. Same keybindings as tmux, so the switch itself was frictionless.
The Actual Gap: Managing Multiple Agents at Once
Herdr handles the multiplexer layer. The tool I actually reach for to manage several running Claude sessions is Claude Code's own Agent View (claude agents). It's a dedicated dashboard, not a pane trick:
- Sessions grouped by state—needs input, working, ready for review, completed—so you see what needs you without hunting through tabs.
- Each background session runs in its own git worktree, so parallel Claude tasks don't step on each other's file edits.
Spacepeeks at a session's recent output without leaving the table;Enterattaches for full control;←backgrounds it again.- Sessions that open PRs show the PR number right in the row.
That's a genuinely different level of tooling than "an agent has a view in a pane." It's built for running five things at once and knowing, at a glance, which one is stuck waiting on you.
Here's the problem: I use Codex for code-specific work and Pi for other tasks, and neither has anything like this. No dashboard, no state grouping, no worktree isolation for parallel runs, no peek-and-reply. If I want to run multiple Codex sessions in parallel, I'm back to manually tracking terminal panes and remembering which one asked me something twenty minutes ago.
So the gap isn't really about herdr—herdr's agent detection is architecturally general, even if its integrations are currently thin. The gap is that Agent View, as a product, only exists for Claude. There's no equivalent surface for managing a fleet of Codex or Pi sessions the same way.
What Carried Over from Tmux
The keybindings mirror tmux almost exactly:
[keys]
prefix = "ctrl+space"
split_horizontal = "prefix+minus" # stacked, like tmux `-`
split_vertical = "prefix+v" # side-by-side, like tmux `|`
focus_pane_left = "prefix+h"
focus_pane_down = "prefix+j"
focus_pane_up = "prefix+k"
focus_pane_right = "prefix+l"
new_tab = "prefix+c"
next_tab = "prefix+n"Tmux windows map to herdr tabs, tmux sessions map roughly to herdr workspaces. The floating scratch terminal (my tmux-floax replacement) also carried over:
[[keys.command]]
key = "prefix+p"
type = "popup"
command = "fish"
width = "80%"
height = "80%"The Setup
Config lives in my dotfiles repo. To use it:
git clone https://github.com/MaxAsif/dotfiles ~/.dotfiles
cp ~/.dotfiles/herdr/config.toml ~/.config/herdr/config.tomlIf you're coming from tmux, expect zero relearning on navigation. Just don't expect a Codex or Pi equivalent of Agent View to show up alongside it—yet.