Herdr alternatives for running coding agents
By Flavio Copes
Herdr alternatives compared: cmux, tmux, Zellij, workmux, worktrunk, T3 Code and bb, with platforms, agent status, worktrees and what to use on Linux.
The right Herdr alternative depends on what you want to change. On a Mac, if you want a native app with a built-in browser, use cmux. For the most portable and battle-tested tool, use tmux, and add workmux on top when you want worktrees and agent status inside it. Zellij is the friendlier multiplexer, with good defaults and a browser client. If you’d rather manage agent threads, approvals and worktrees in a GUI, try T3 Code, or bb if you want agents that start and manage other agents. worktrunk is a worktree manager, so you add it next to Herdr instead of switching to it.
Herdr is a terminal workspace manager for coding agents. It runs inside the terminal you already use, keeps every pane alive in a background server, and shows in a sidebar which agent is working, blocked or done.
It’s free, open source, and runs on macOS, Linux and Windows. I use it for my own agents: one workspace per repository, a builder and a reviewer side by side, and the dev server in its own tab. Every tool below covers part of that job, and they differ in which part and in where they run.
Is cmux a good Herdr alternative?
Yes, if you work on a Mac. cmux is a free, open source (GPL) terminal app for macOS, built on Ghostty’s terminal engine. It has a vertical sidebar of workspaces, split panes, and notification rings that light up a pane when an agent needs you.
cmux is the terminal application itself, while Herdr runs inside one. Owning the window lets cmux add things a terminal UI can’t, like a real browser pane that agents can drive. An agent can open the local site, click around, read console errors and take a screenshot.
Herdr’s advantage is persistence. Its server owns the processes, so you detach, close the window, and come back to the same running agents. cmux restores the layout after a restart and resumes supported agents, but a dev server or a test watcher comes back as a fresh shell.
cmux suits you when your Mac is the command center and browser checks are part of the loop. It needs macOS 14 or later. For remote work, cmux ssh opens a workspace on a server, and there’s an iPhone and iPad companion app in beta.
You can also combine them by running Herdr inside a cmux pane. I compared the two in Herdr vs cmux.
Is tmux enough for running coding agents?
tmux is the classic terminal multiplexer. A background server owns your sessions, you detach and reattach, and it’s already installed on a huge number of servers. It runs on macOS, Linux and the BSDs, and on Windows through WSL.
Herdr borrows that model, down to the ctrl+b prefix. What tmux lacks is any idea of what runs in a pane. To tmux, Codex is just another command, so it can’t tell you which of your ten agents is waiting for approval.
For many people that’s fine. If you run one or two agents, or you mostly work on servers where you can’t install new tools, tmux does the job. I still use tmux on servers, for the session persistence.
If you want agent status inside tmux, that’s what workmux adds. I cover it below, after Zellij.
Is Zellij better than Herdr?
It depends on who’s driving the terminal. Zellij is an open source (MIT) multiplexer built for the person at the keyboard. It shows the available shortcuts on screen, has floating and stacked panes, and describes layouts in KDL files. Plugins are WebAssembly programs. It runs on macOS and Linux, and natively on Windows since March 2026.
It also has something Herdr and tmux don’t: a built-in web server. Run this and your sessions open in the browser, behind a login token:
zellij web
The web client has a mobile layout and can be installed as an app on a phone.
Like tmux, Zellij sees terminals, not agents. It marks a pane that rang the bell and passes desktop notifications through to your terminal, but it doesn’t track whether an agent is working or blocked.
Pick Zellij if you want a friendly multiplexer for yourself and you’re happy to run agents as normal programs. My Herdr vs tmux vs Zellij post puts the three side by side.
workmux vs Herdr: which one should you use?
workmux takes the opposite route. Instead of replacing tmux, it builds on it.
One command creates a Git worktree for a branch and a tmux window to work in:
workmux add fix-header
The worktree goes in a sibling folder. workmux can copy files like .env into it, run your setup commands, and start your agent in the window. When you’re done, workmux merge merges the branch, then deletes the worktree, closes the window and removes the local branch.
It tracks agents too. workmux setup installs status hooks for Claude Code, Codex, OpenCode, Pi and several other CLIs. Then the tmux window names show whether each agent is working, waiting for input or done. There’s also a sidebar, a TUI dashboard, and an option to run agents in a container or VM sandbox.
If you already have a tmux setup you like, workmux adds the agent layer without asking you to move. Herdr is a new multiplexer designed around agents, with its own sidebar, mouse support, CLI and socket API, and one agent can drive another through it.
workmux is MIT licensed and ships binaries for macOS and Linux. tmux is the main backend, and Zellij, WezTerm and kitty work as experimental ones.
Where does worktrunk fit next to Herdr?
worktrunk solves a different problem from Herdr, and the two work well together. worktrunk is a CLI called wt that makes Git worktrees as easy as branches. It doesn’t manage terminals at all.
This creates a branch and its worktree, switches to it, and starts Claude Code there:
wt switch -c -x claude fix-header
wt list shows every worktree with its Git status. Once you install its agent plugins, it also marks the worktrees where an agent is working or waiting. wt merge squashes and rebases the branch, merges it and removes the worktree. Hooks can run your setup, like installing dependencies, when a worktree is created.
It runs on macOS, Linux and Windows, under the MIT or Apache-2.0 license.
Herdr has its own herdr worktree commands. If you prefer worktrunk’s workflow, the community herdr-worktrunk plugin opens worktrunk worktrees as Herdr workspaces and runs worktrunk’s hooks along the way. My Herdr plugins guide explains how plugins work, and my Git worktrees post covers the Git feature underneath.
T3 Code vs Herdr
T3 Code moves the work from terminal panes into an app. It’s an open source (MIT) control surface for the agent CLIs you already use: Codex, Claude Code, Cursor, Grok Build, OpenCode and Antigravity. A local server starts them and turns their output into threads you follow in a desktop app, a web app or a phone app.
Each thread can run in the current checkout or in a new Git worktree. From the same window you approve commands, review the diff of each turn, preview the running app and open pull requests.
Herdr shows you each agent’s own terminal interface. T3 Code replaces it with a shared thread view across providers, with conversations, approvals and diffs in one format. It has terminals too, but they sit beside the thread instead of being the main view.
T3 Code runs on macOS, Windows and Linux (a .deb and an Arch Linux package), with iOS and Android apps for checking in from your phone. It’s still in Alpha, so expect things to change.
bb vs Herdr
bb is an open source (MIT) agentic IDE built around threads. Every task gets a thread with its own environment, lifecycle and event history. A manager thread can spawn other threads, wait for them and read their results.
The desktop app, web app, CLI and HTTP API all drive the same system, so an agent can use bb the same way you do. bb can create an isolated Git worktree for each thread, and one bb server can send work to several machines. It works with Codex, Claude Code, Cursor, Pi, OpenCode and other agents that speak the Agent Client Protocol.
Herdr organizes terminal processes and keeps no record of the tasks themselves. bb stores the tasks, their relationships and every event in a SQLite database. Choose bb when you want agents to coordinate other agents and leave a durable record. Herdr is the lighter choice when you want to watch and control real terminals.
The desktop app supports macOS on Apple Silicon, and the Linux AppImage is in alpha. Anywhere else you run npx bb-app@latest and open it in the browser, and on Windows you do that inside WSL2.
How do the Herdr alternatives compare?
Here’s the same information in one table, checked in September 2026:
| Tool | Type | Runs on | Agent status | Worktrees | Remote and mobile |
|---|---|---|---|---|---|
| Herdr | Terminal multiplexer | macOS, Linux, Windows | Working, blocked, done, idle | Built in | SSH, remote attach, saved machines, any phone terminal |
| cmux | Native Mac app | macOS 14+ only | Notification rings, unread badges | Not built in, scriptable | cmux ssh to servers, iPhone and iPad app in beta |
| tmux | Terminal multiplexer | macOS, Linux, BSD, Windows via WSL | No | No | SSH, any SSH app on a phone |
| Zellij | Terminal multiplexer | macOS, Linux, Windows | No, only bells and notifications | No | SSH, built-in web client with a mobile layout |
| workmux | CLI on top of tmux | macOS, Linux | Working, waiting, done | Core feature | Through tmux over SSH |
| worktrunk | Worktree CLI | macOS, Linux, Windows | Activity markers in wt list | Core feature | Runs in any shell, over SSH too |
| T3 Code | Desktop, web and mobile app | macOS, Linux, Windows | Thread status and approvals | Per thread | T3 Connect, Tailscale, SSH, iOS and Android apps |
| bb | Desktop and web app | macOS (Apple Silicon), Linux (alpha), Windows via WSL2 | Thread states and approvals | Per thread | Several machines per server, Tailscale or bb connect |
What can I use instead of cmux on Linux?
cmux is macOS only. Its FAQ says so, and the app is written in Swift and AppKit, so there’s no Linux or Windows build to install. The Linux binaries in its releases are for servers: cmux ssh uploads a small relay to the Linux machine you connect to, and the Mac still runs the app.
On a Linux desktop, I think the closest setup is Ghostty with Herdr inside it. cmux uses Ghostty’s terminal engine, Ghostty has a native Linux app, and Herdr adds the agent sidebar and the notifications.
If you’d rather stay with a multiplexer you know, use tmux with workmux on top, or Zellij. If you want a GUI, T3 Code has Linux packages, and bb’s Linux app is still alpha.
None of them gives you cmux’s scriptable browser pane. On Linux, your agents use their own browser tooling, or you check the page yourself.
How do I choose?
Start from where your agents run. If they live on servers you reach over SSH, you want a terminal tool: Herdr, tmux or Zellij, plus workmux if you’re a tmux person. If they run on your Mac and you want a desktop app around them, cmux is the most polished option.
Then decide how much you want above the terminal. Herdr, workmux and worktrunk keep the real terminal as the main view. T3 Code and bb put a thread view with approvals and history on top of it, and in exchange you work inside their app.
If you already use Herdr and only miss one thing, add a tool instead of switching. For isolated checkouts with setup hooks, install worktrunk and its Herdr plugin. For a browser pane on a Mac, run Herdr inside cmux.
Want me to talk about your product? You can sponsor this site.