Herdr, Rex, and Orca: Free Tools for Running AI Coding Agents in Parallel

Murtuzaali Surti
Murtuzaali Surti

• 15 min read

Updated

TL;DR

Table of Contents

I usually have a few projects open, each with more than one coding agent running, and keeping track of all of them is what Herdr, Rex, and Orca are for. I have used all three, Orca the most, then Herdr, and Rex only recently since I just got my beta invite. All three are free, and they all let you run agents like Claude Code, Codex, OpenCode, and pi side by side and see what each one is doing. They just go about it in very different ways.

INFO

None of these tools are coding agents themselves. They run the agents you already use. If you're still picking an agent, I compared a few in open source AI coding agents to try for free.

Are These Really "Agent Multiplexers"?

You'll see all three called agent multiplexers, and that's only partly true.

A terminal multiplexer, like tmux, lets you run many terminal sessions inside one window, split them into panes, and detach so they keep running in the background. An agent multiplexer is the same idea with awareness of coding agents added on top, so it knows when an agent is working, waiting for you, or done.

  • Herdr fits the label best. Its GitHub topics literally include terminal-multiplexer and tmux, and the original Herdr is a tmux-style app that runs inside your existing terminal.
  • Rex is a terminal emulator and a multiplexer in one app. Superlogical calls it "the multiplexer for all work", so coding agents are one use case, not the whole point.
  • Orca doesn't really fit. It has terminals and splits, but it calls itself an Agent Development Environment, and it's closer to an IDE with worktrees, diff review, a built-in browser, and GitHub integration.

So a better way to think about them is by layer. Herdr sits inside your terminal, Rex replaces your terminal, and Orca replaces your editor. Which layer you want decides which tool fits you.

Orca

A full IDE built around running many agents at once.

Orca's sidebar listing projects, each with its worktrees and branches

Orca by Stably AI is the one I use the most. It's a desktop app for macOS, Windows, and Linux, open source under the MIT license, and it has a mobile companion app for iOS and Android so you can reply to an agent from your phone.

Project Groups Are Why I Keep Coming Back

The feature that keeps me on Orca is how it handles a folder full of repos. Say I have a client folder with three repos in it, a frontend, a backend, and a shared components library. When I add a new folder, Orca opens a dialog to browse my system, and once I pick the client folder, it finds all three repos and offers to import them together. I import all three, and each repo shows up as its own tab, grouped under one project in the sidebar.

From there I run agents in each repo separately, so one can work on the frontend while another works on the backend, and I can see both from the same place instead of opening each repo one by one.

The other thing I like is that everything persists. When I finish for the day and close Orca, all my projects and paths are right where I left them the next time I open it. It's a small thing, but it means my mornings start with work instead of a round of reopening folders.

CAUTION

Multi-repo support isn't perfect yet. There are open GitHub issues asking for better grouping of related repos and per-repo source control inside a folder workspace. If your setup has nested repos inside another git repo, test it before you commit to it.

Worktrees, Diffs, and Everything Else

Orca's core idea is that every task gets its own git worktree, which is a separate folder checked out on its own branch that shares the same git history. That means five agents can work on the same repo without overwriting each other's files. You can even send one prompt to several agents in separate worktrees, compare what they came up with, and keep the best one.

On top of that you get a diff viewer where you can leave notes on changed lines and send them back to the agent. There's also a built-in browser with a Design Mode that lets you click an element and paste its HTML and CSS into the agent's prompt.

Beyond that, Orca has GitHub and Linear integration, SSH support for running agents on a remote machine, and a CLI that agents can use to create worktrees and start other agents.

The Mobile App Is What I Use Most

The feature I lean on the most is the Orca mobile app for iOS and Android. It pairs with Orca on my machine and works as a remote control for it. I can see which agents are working, done, or waiting on me, read what an agent did, reply when it asks something, and get a push notification when it finishes. The agents themselves keep running on my machine, the phone only controls them.

For pairing, Orca recommends Orca Relay, which connects your phone to your machine without both being on the same network. You need to sign in to Orca to use Relay. If you don't want to sign in, you can pair over your local network instead, but then your phone has to be able to reach your machine directly.

The Catch, It's Heavy

On Windows, with multiple projects open, Orca takes around 2 GB of memory. Most of that comes from it being a full-blown IDE for agents, running terminals, a browser, diff views, and an editor at the same time, and being built on Electron probably adds to it.

I get why, but I think there's room to tone it down.

Orca also collects anonymous usage data by default, which you can turn off in settings.

Pick Orca if you work across many repos, want worktrees, diff review, and a browser in one app, and don't mind trading memory for features.

Herdr

tmux, rebuilt for coding agents.

Herdr feels very lightweight next to Orca. It's open source under Apache 2.0 and runs on macOS, Linux, and Windows.

The thing to understand about Herdr is that there are now two of them.

Herdr TUI, the Original

Herdr TUI is the original Herdr. It's a single Rust binary that runs inside whatever terminal you already use, whether that's WezTerm, iTerm2, or Kitty, so your fonts, theme, and shell config stay exactly the same.

# macOS
brew install herdr
herdr

It works a lot like tmux. You get workspaces, tabs, and panes, and it uses tmux-style prefix keys like ctrl+b, though you can also click, drag, and split with the mouse. What it adds on top of tmux is a sidebar that marks every pane running an agent as working, blocked, or idle, so you can jump straight to the one waiting for you instead of checking every tab.

Herdr handles git worktrees too. Right-click a space and you can create a new worktree or open an existing one, so you can give an agent its own branch without leaving Herdr.

Herdr TUI space menu with options to rename, close, create a new worktree, or open a worktree

Under the hood, Herdr runs a background server that owns all your terminals, and the UI you see is just a client attached to it. When I close Herdr and reopen it in a terminal, the UI reattaches to the server that's already running, and every agent is exactly where it was. There's nothing to restore because nothing ever stopped, which is why reopening it feels instant.

You can detach on purpose with ctrl+b q and run herdr again to reattach, and it works the same way over SSH, so you can leave agents running on a remote machine and check on them later.

INFO

The background server keeps your agents running when you close the window or lose your SSH connection, but not across a reboot. After a restart, Herdr TUI restores your layout and can resume supported agent sessions, but the original processes are gone. See session state for details.

The New Herdr App and herdr-core

The Herdr team recently released a desktop app. It has the same sidebar idea, a space for each repo and a tab for each task, and the same right-click worktree options as the TUI.

Herdr app space menu with Rename, New worktree, Open worktree, and Close options

It also has a mobile app and a config folder at ~/.config/herdr-app that your agent can edit to change the layout, keys, and themes for you.

The important detail is that the app runs on herdr-core, a new server that's separate from the one Herdr TUI uses. They don't share agents, so anything running in the TUI won't show up in the app and the other way around. The Herdr team still maintains the TUI, so you don't have to switch.

If you've come from tmux, you'll probably still love the TUI more. The app is great too, though, and I've found myself liking it more than the TUI. I don't have one big reason for it, I just enjoy using it more.

Making Herdr Your Own, My Pixel Layout

Because the app keeps its layout and sidebar as plain files, you can restyle it far beyond a color theme. I made Pixel, a retro pixel-art layout for the Herdr app. It uses bitmap-font headings, square tabs and pane frames with the focused one in orange, and a status bar that reads like a DOS status line. Each agent gets a card with a tiny pixel scene showing whether it's sleeping, busy, done, or needs you. Your terminal text keeps your own font and colors.

Herdr app with the Pixel layout, showing pixel-art agent cards in the sidebar and Claude Code and OpenCode running side by side

The look comes from typecraft's retro pixel Herdr setup in this video. There was no source code for it, so I took that design, extended it, and repackaged it as a layout anyone can install. The easiest way to install it is to ask your agent:

Add the Herdr layout from https://github.com/murtuzaalisurti/herdr-pixel-layout

ctrl-shift-l switches you back to your previous layout if it's not for you.

Agents can drive Herdr too. In the app, an agent can start a helper agent with the hc CLI, send it instructions, and get its report back without you copying anything between windows.

Pick Herdr if you want something light, like tmux, and want your agents to keep running when you close the window.

Rex

A whole new terminal, with a multiplexer built in.

Rex with OpenCode, Claude Code, and pi running in split panes, with sessions listed in the sidebar

Rex comes from Superlogical, the company founded by Mitchell Hashimoto, who created Ghostty, Vagrant, and Terraform. It uses libghostty, the same terminal engine as Ghostty, for rendering.

I've only just started with Rex since it's still invite-only, so take this section as early impressions, not a long-term review.

How Rex Is Organized

Rex works on the same model as Herdr. A server runs in the background and keeps your terminals alive, and the app is a client that attaches to it. Close the app, open it again, and everything is still there.

Rex organizes work into sessions, which hold windows, which hold blocks. In more familiar terms, a window is a tab and a block is a pane.

The first thing I noticed with Rex was how it handles organizing repos, the same thing I like about Orca. A session is a group of related work, so I make one per project and open each repo in it with its own working directory. Every tab and pane can start in a different folder, so the frontend, backend, and components repos all live under one session. It isn't as smooth as Orca's project groups, where I pick one parent folder and every repo gets imported for me, but it works.

You can also set this up from the CLI, which is handy if you open the same set of repos often:

rex new client --cwd ~/work/client/frontend --window frontend
rex run -s client --cwd ~/work/client/backend
rex run -s client --cwd ~/work/client/components

rex new creates the session, and each rex run adds a new tab to it, starting in the folder you pass with --cwd.

Rex is configured with a single Lua file, init.lua, where you bind keys, define custom actions, and list the remote servers you connect to.

Built for Agents to Drive

Rex ships a CLI, and its agent skill teaches agents how to use it. One command installs the skill for Claude Code, Codex, OpenCode, and pi:

rex skill setup

After that, you can ask your agent things like "run the tests beside you and fix whatever fails," and it'll split a pane, run the tests, read the output, and work from there. You can also script it yourself:

rex ls                      # list your sessions
rex send -s build 'make test'   # type into the "build" session
rex capture -b logs         # print the screen of the pane labeled "logs"

Free, But Not Open Source

Superlogical has said publicly that "Rex is and will always be free". You don't need an account to use it, you can self-host the server, and they say they don't see your data. They've also promised to explain how they'll make money before the stable release, and that it won't be by charging for the client or the server.

Getting it is a different story for now. Rex is currently invite-only, so you have to join the waitlist and wait for an invite, and since it's a beta, expect some bugs along the way. Once Rex reaches a stable release, Superlogical says you'll be able to download it directly, still free, without signing up or sharing any contact information.

Rex is also closed source right now. Herdr and Orca are open source, Rex isn't, and that's worth knowing if you care about being able to read or fork your tools. The Mac app is the main client, and the server also runs on Linux, FreeBSD, and Windows. An iOS app is in TestFlight testing with external testers, but it isn't in the App Store yet.

Pick Rex if you're on a Mac, want one fast native app that is both your terminal and your multiplexer, and don't need it to be open source.

Herdr vs Rex, What They Share and What Sets Them Apart

Using Herdr and Rex back to back, I found Rex pretty similar to Herdr. Here's what overlaps and where they actually differ.

What They Share

  • A background server with a thin client. Both keep your agents running in a server process, and the window you see is just a client. Close it, reopen it, and you're back where you were.
  • The same status protocol. Rex published the Program Status Protocol, an escape sequence called OSC 7501 that lets any program tell the terminal it's working, blocked, done, or failed. Herdr's app reads the same OSC 7501 sequence to show agent status. So a program that reports its state once shows up correctly in both. The spec even mentions Orca's own OSC 9999 sequence as earlier work on the same idea.
  • Agents that drive the tool. Both ship a CLI and an agent skill, so an agent can open panes, start other agents, and read their output.
  • Remote machines. Both let you connect to servers and keep agents running there while your laptop sleeps.

What Sets Them Apart

  • Organizing folders. This is the one I noticed first in daily use. In Rex, I can create a session and add the folders for a project to it, which I find better than Herdr's one space per repo. It still isn't as seamless as Orca's import-the-parent-folder flow, but it works.
  • Where they sit. This is the biggest technical difference. Herdr TUI runs inside your existing terminal, so you keep your terminal emulator. Rex is the terminal, so it replaces Ghostty, iTerm2, or whatever you use today. Herdr's new app is closer to Rex here, but Herdr still gives you the TUI if you don't want to switch terminals.
  • Open source. Herdr's app, herdr-core, and the TUI are all Apache 2.0. Rex is free but closed source.
  • Platforms. Herdr runs on macOS, Linux, and Windows today. Rex's desktop client is macOS only for now, with an iOS app in testing.
  • How you customize them. Herdr's app is meant to be changed by your agent, with plain config files, layouts, and a gallery of hundreds of community layouts and mods. Rex uses a Lua config file and Lua scripts that react to events, which feels more like configuring a classic terminal or editor.
  • Scope. Herdr is built around coding agents first. Rex wants to be the terminal for all work, from local dev to production debugging, with agents as one of many use cases.
  • Maturity. Herdr has been public longer and has a big plugin and mod community. Rex is still an invite-only beta.

Which One I'd Pick Today

If you're coming from tmux or another terminal multiplexer, Herdr will feel great right out of the box. It works the way a multiplexer already works in your head, and it handles coding agents really well on top of that.

If you want something more than Herdr, a whole terminal built around persistent sessions, give Rex a try. I haven't spent enough time with it yet to say much more than that, and remember it's still invite-only, so you'll need to sign up for the waitlist and live with the odd beta bug.

Herdr vs Rex vs Orca at a Glance

OrcaHerdrRex
What it isAgent IDEAgent multiplexer (TUI or app)Terminal + multiplexer
ReplacesYour editorNothing (TUI) or your terminal app (app)Your terminal
LicenseMITApache 2.0Free, closed source
PlatformsmacOS, Windows, LinuxmacOS, Windows, LinuxmacOS client; Linux, FreeBSD, Windows servers
Mobile appiOS, AndroidiOS, AndroidiOS, in TestFlight testing
Agents keep running when closedYesYesYes
Built-in git worktreesYesYesNo
Multi-repo groupingProject groupsNo (one space per repo)Sessions
WeightHeavy (Electron)Light (Rust)Native app
AccessDownloadDownloadInvite-only beta (direct download after stable release)

Which One Should You Use?

Pick by layer. If you want an editor replacement, that's Orca. If you want to keep your terminal, that's Herdr TUI, and if you're happy to swap your terminal for a new app, that's the Herdr app or Rex. The "Pick X if" line at the end of each section above has the details.

For me, Orca is still where I spend most of my day because of how it handles multi-repo work, and Herdr is what I reach for when I want something lighter.


The Best Career Advice for Junior Engineers in the Age of AI

Previous