Every Claude Code agent.
One terminal.
berth keeps all your agents in tabs with their live status, lets you watch several side by side, and brings them back after any restart. One small binary.
$curl -fsSL https://get.berth.lol | sh
1 ● api │ 2 ⠹ web ┊ 3 ⠼ docs │ 4 ! infra │ 5 ○ notes │ ⌥? keys ^q list
Everything about every agent, at a glance.
Each agent is a real terminal you type into. berth adds the overview: who's working, who needs you, what it costs and what it changed.
Live status
Working, waiting on a permission, or your turn: straight from Claude Code's own hooks, for every agent. A beep when one starts waiting on you.
Git at a glance
Each agent's branch and changed files, following it into its worktree. One key shows the diff.
Tabs and splits
Every agent is a numbered tab. Put two or three side by side; berth remembers the layout.
Survives restarts
Quit, reboot, restart the container: agents come back in the same conversation.
Past conversations
Pick up any Claude Code or Codex session, newest first, filtered as you type.
Cost and context
Cost, context use and rate limits per agent and per project, from Claude Code's status line.
Containers
Run agents inside Docker. Log in to Claude once; berth reuses that login in every container.
Quiet by default
Claude Code's telemetry, error reports and feedback prompts off. berth itself makes no network calls.
A handful of keys. Nothing stolen.
tmux does the work but stays invisible: no prefix key, no shortcuts taken from your agents. From inside any agent:
Running in a minute.
One binary in ~/.local/bin, no sudo. The script picks the build for your machine and checks its SHA-256 before installing.
Install berth
curl -fsSL https://get.berth.lol | shHave tmux
brew install tmux # macOS sudo apt install tmux # Linux
Start it
berth # n: new agent berth docker # or in a container
Prefer to read before you run? The script is at get.berth.lol.
Stop losing agents
between terminals.
$curl -fsSL https://get.berth.lol | sh