░██                                             ░██       ░██            
   ░██                                                       ░██            
░████████ ░█████████████  ░██    ░██ ░██    ░██    ░██ ░████████  ░███████  
   ░██    ░██   ░██   ░██ ░██    ░██  ░██  ░██     ░██░██    ░██ ░██    ░██ 
   ░██    ░██   ░██   ░██ ░██    ░██   ░█████      ░██░██    ░██ ░█████████ 
   ░██    ░██   ░██   ░██ ░██   ░███  ░██  ░██     ░██░██   ░███ ░██        
    ░████ ░██   ░██   ░██  ░█████░██ ░██    ░██    ░██ ░█████░██  ░███████

The terminal that understands your agents.

2.7

Other tools rebuild the terminal to understand agents. tmux-ide teaches the terminal you already use to understand them. One command adds a native chrome to any tmux session — ground-truth agent status, notifications, and crash-proof restore. Zero lock-in.

tmux-ide
$
01
Adopt in place

One command on the tmux you already run

tmux-ide adopt <session> drops a native chrome row onto any existing session — fleet tabs, live agent glyphs, home / switch / keys triggers. It's just tmux options: unadopt reverts it, and if tmux-ide ever dies your sessions are untouched plain tmux. No new terminal to learn, no lock-in.

02
Know your fleet

Ground-truth agent status, at a glance

Install the Claude Code integration and working / blocked / done come straight from the agent's own lifecycle — not a guess. Border chips show claude · working per pane; a toast fires on every attached client the moment an agent goes blocked or done. One glance tells you who needs you.

03
Survive anything

Rebuild the whole fleet after a crash

Continuous snapshots mean a tmux server death isn't a lost afternoon. tmux-ide restore rebuilds every session, window, layout, cwd, and title — and --resume-agents revives your Claude conversations from their recorded session ids. Nothing was lost.

Teams of any agents

Run a heterogeneous fleet — Claude Code, codex, cursor-agent, aider, anything — in one set of sessions, and let them coordinate. Every agent's status is on a shared bus every other agent can read; one agent can task another by typing into its prompt; and any agent can block until a teammate finishes. It's agent-agnostic by design: Claude Code reports automatically, everyone else self-reports with a one-line pane option.

tmux-ide team --json # read the fleet's status
tmux-ide send %2 "implement /login, then run the tests" # task another agent
tmux-ide wait output %2 --match "tests passed" # block until it finishes

How multi-agent teams work →

One app, a keystroke away

Once a session is adopted, the whole UI is a prefix twin away — reliable under every keyboard protocol, with an ⌥ fast-path on top. One grammar, one theme.

prefix h · ⌥h

Home cockpit

Bare tmux-ide is the home screen — a fleet tree, detail pane, live preview, and rollup header. prefix h opens it as a popup over any session.

prefix b · ⌥b

Sidebar

A nav column you toggle in any session. The fleet, a keystroke away, without leaving your work.

prefix e g v

Floating panels

File explorer, git changes, and the config editor as popups over whatever you're doing. esc to close.

prefix u · right-click

Actions menu

Right-click any pane or the status bar for a native tmux menu at the pointer — the same actions, wherever you are.

prefix k · ⌥k

Cheat sheet

Every key on one iPadOS-style sheet. One interaction grammar everywhere: j/k move, enter opens, / filters, esc backs out, ? asks.

prefix + letter, always

Reliable keys

Prefix twins work under every keyboard protocol; the ⌥ fast-path is a one-key shortcut when your terminal allows it. One theme file colors chrome AND widgets.

Features

The dock

A native tmux chrome row on any session: clickable fleet tabs with blocked / working / done / idle glyphs, plus home, switch, and keys triggers.

Two-layer detection

Authoritative status from Claude Code hooks; process-tree + evidence-tuned screen manifests as the fallback. User-overridable, debuggable with agent explain.

Self-report contract

Any agent can join the authority layer by writing one pane option: tmux set-option -p @agent_state working:$(date +%s). No integration required.

The who-needs-me loop

Toasts on any client when an agent goes blocked or done anywhere, optional macOS notifications, and per-pane border chips.

Event stream

tmux-ide events --follow is a JSONL stream of every agent-status transition — pipe it anywhere.

Coordination primitives

wait agent-status and wait output --match block until a session hits a status or a pane matches a regex. Scriptable synchronization.

Crash-proof restore

Continuous snapshots; tmux-ide restore rebuilds sessions, windows, layouts, cwds, and titles after a tmux server death.

Conversation revival

restore --resume-agents brings Claude conversations back via their recorded session ids (claude --resume).

Worktree flow

tmux-ide worktree create <branch> = a git worktree plus an adopted session inside it. Parallel agents on parallel branches.

Works over SSH

The chrome lives server-side, so it renders from any client — including SSH from a laptop or a phone.

ide.yml layouts

Optional: describe rows, panes, commands, and a sidebar in one file. tmux-ide init scaffolds it from your detected stack.

Programmatic CLI

--json on every command. status, inspect, events, and agent explain all speak structured output for scripting.

From zero to fleet in three commands

Step 01

Adopt

$ tmux-ide adopt work

Add the chrome to a session you already have. Fleet tabs, agent glyphs, and triggers appear. Nothing else changes.

Step 02

Integrate

$ tmux-ide integration install claude

Hook Claude Code's lifecycle so working / blocked / done are ground truth. Any agent can self-report the same way.

Step 03

Work

$ tmux-ide events --follow

Glance at the dock, get toasts when an agent needs you, and restore the whole fleet if the server ever dies.

Trust

  • Adopt is just tmux options — reversible
  • If tmux-ide dies, plain tmux remains
  • Ground-truth status from agent hooks
  • agent explain shows exactly why
  • User-overridable detection

Resilience

  • Continuous fleet snapshots
  • Restore sessions, windows, layouts
  • Cwds and titles come back too
  • Revive Claude conversations on resume
  • Worktree-per-branch isolation

Developer experience

  • One command to adopt
  • One grammar: j/k · enter · / · esc · ?
  • One theme file for everything
  • Renders over SSH, any client
  • --json everywhere, open source

Get started

Keep your terminal. Add the chrome. Adopt a session in seconds.