Skip to content
b! brat ★ GitHub

← home · compare

brat vs raw tmux + scripts

DIY: panes, shell, and willpower

This is what most people actually do today: a tmux session with eight panes, each one running claude or aider on a feature branch, with a bash script that spawns and reaps them. It works, it's zero-install, and it's how brat started in our own usage. brat is what we built once the spreadsheet of "which pane is on what" got bigger than our screen.

feature brat raw tmux + scripts winner
Surface area CLI + roles + WAL + optional web UI Whatever your shell knows brat
State Append-only events in git refs Scrollback + your memory brat
Resumability Replay from the WAL Re-read scrollback if it's still there brat
Lock coordination TTL leases enforced by the harness Hope brat
Visibility brat status, web dashboard, mayor chat Eyeballing panes brat
Onboarding Rust 1.75+ install, learn vocab You already know it raw tmux + scripts
Best for Fleets of >5 agents on shared codebase 1–2 agents, isolated branches tie
Cost Open source, MIT Free tie

pick brat when

  • You've outgrown tracking sessions by counting tmux panes
  • You want to ask "what is task #14 doing" without grepping a scrollback
  • You want the state to survive when your laptop sleeps mid-task
  • You want a merge queue instead of "whichever branch I rebase first wins"
  • You're moving from one agent at a time to ten or fifty at a time

pick raw tmux + scripts when

  • You run one or two agents at a time and they don't share files
  • You like seeing every log in front of you, all the time
  • You don't want any new dependencies
  • The orchestration is small enough to fit in your head — leave it there

still deciding?

These are not zero-sum. Run brat for the agent fleet on your main repo, keep raw tmux + scripts for what it's already good at, and let the tools earn the work they do best.