NewSplits, diffs and past conversations

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
macOS & Linuxarm64 & x64runs on tmux
Features

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.

1 ● api │ 2 ⠹ web │ 3 ! infra │ 4 ○ docs │ ● your turn ⠹ Bash: npm test ! permission: Bash

Git at a glance

Each agent's branch and changed files, following it into its worktree. One key shows the diff.

⎇ fix-login ·4 ~/shop-fix-login @@ -12,7 +12,9 @@ export function removeItem( - cart.items.filter(i => i.id === id) + cart.items = cart.items.filter(i => i.id !== id)

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's only request is a daily, signed update check you can turn off.

Keys

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:

⌥1–9
Jump to an agent
⌥t
New agent, other agent or past conversation
⌥|-
Split beside or below
⌥ow
Next pane, close pane
⌥cd
Copy an agent's text, show its diff
⌃q
The agent list, with everything else
Install

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 | sh

Have tmux

brew install tmux      # macOS
sudo apt install tmux  # Linux

Start it

berth         # n: new agent
berth update  # later, when it says so

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