bora terminal multiplexer for coding agents
You run several coding agents at once and lose track of which terminal is doing what. bora is a Rust terminal multiplexer built for exactly that: every agent in its own pane, every pane marked working, blocked or idle, and the agents themselves use the CLI to open panes and talk to each other. A fork of herdr, free and open source.
bora is a background server: the terminals live inside it. Close the lid, drop the network, restart the machine, and the agents keep working and the sessions come back. You reattach from any terminal, including over ssh.
What it does
Never hunt for the stuck one
Every pane is marked working, blocked or idle. When an agent stops and needs an answer from you, bora says so.
Folders in the sidebar
The Folders view lists your workspaces one line each, grouped only by the folders you created, with one clickable dot per pane. Drag a workspace onto a folder or use bora workspace set-group.
Channels between agents
With bora channel, agents talk in #channels and address each other by @nick. A message for you arrives passively: a sidebar badge, nothing opening over the pane you are using.
Runs what you already run
Claude Code, Codex, Cursor, opencode, omp and the rest. bora does not wrap or replace any of them: it only owns their terminals.
One Rust binary, with plugins
No Electron, runs in whatever terminal you already use. tmux-style prefix keys and mouse, both first-class. Plugins extend panes and workflows.
Agents (CLI)
Your agents drive bora through the CLI and the socket API: they spawn panes, prompt each other and wait until another agent is genuinely blocked. Two fork-only commands turn “run an agent on this” into one shot:
bora agent --new "review the plan and list the risks"
bora agent my-key prompt "first task"
bora events --subscribe channel.message --new always creates a workspace on the current directory, starts the default agent, injects the prompt and prints one JSON result. agent <name> prompt is get-or-create: the name is the idempotency key, so re-running the same dispatch prompts the existing agent instead of duplicating it.
bora events streams server events as JSON, one line per event, for anything that consumes a pipe. If your agent speaks MCP, bora mcp serve exposes the same surface as MCP tools.
Download
v0.45.5 · free, Apache 2.0 · macOS, Linux, Windows
One-line installer for macOS and Linux. Installs to ~/.local/bin (override with HERDR_INSTALL_DIR); needs curl and awk.
curl -fsSL https://raw.githubusercontent.com/aryrabelo/bora-herdr-ada/main/distribution/install.sh | sh Windows, in PowerShell:
powershell -c "irm https://raw.githubusercontent.com/aryrabelo/bora-herdr-ada/main/distribution/install.ps1 | iex" Stable v0.45.5
- macOS Apple Silicon 0998e1733cd2
- macOS Intel 07998f7377b7
- Linux x86_64 c9c959c66908
- Linux arm64 4bdc173baea6
- Windows x86_64 (.zip) 406fba86b514
Preview v0.46.8 · d3a2bde
- macOS Apple Silicon eee4e14bc7d9
- macOS Intel b73c64fdac6e
- Linux x86_64 5f8ecbffd87c
- Linux arm64 4db0fc90d371
- Windows x86_64 (.zip) 723cf0eb867e
Preview is the latest main, with no stability promise. To switch a running install: bora channel set preview && bora update. Right now the Folders view is temporarily out of preview while it returns on the new client shell.
Get bora updates
Building in public. Drop your email and I'll ping you when a new version ships, alongside the newsletter on AI, automation and engineering. Optional: the download above is free.