What's New in 2.6
tmux-ide 2.6 — the terminal that understands your agents
tmux-ide 2.6
2.6 is a reinvention. tmux-ide is no longer a web dashboard with a terminal attached — it's a terminal-native cockpit built around tmux. Other tools rebuild the terminal to understand agents; tmux-ide teaches the terminal you already use to understand them.
The dock — adopt in place
tmux-ide adopt <session> adds a native tmux chrome row to any existing
session: fleet tabs with live agent-status glyphs (blocked / working / done /
idle), clickable, plus [ ⌂ home ] [ ⧉ switch ] [ ? keys ] triggers. It's just
tmux options — unadopt reverts it, and if tmux-ide dies your sessions are
untouched plain tmux. Because the chrome lives server-side, it renders from any
client, including over SSH. → The dock & keys
Trustworthy agent detection, two layers
- Authoritative —
tmux-ide integration install claudehooks Claude Code's lifecycle so working / blocked / done is ground truth. Any agent can self-report with one pane option:tmux set-option -p @agent_state working:$(date +%s). - Fallback — process-tree resolution plus evidence-tuned screen manifests,
user-overridable and debuggable with
tmux-ide agent explain <pane>.
The who-needs-me loop
Toasts on any client when an agent goes blocked or done anywhere (optional macOS
notifications), per-pane border chips (claude · working), a
tmux-ide events --follow JSONL stream, and wait agent-status /
wait output --match coordination primitives. →
Notifications & events
Crash-proof fleet
Continuous snapshots; tmux-ide restore rebuilds sessions, windows, layouts,
cwds, and titles after a tmux server death, and --resume-agents revives Claude
conversations via their recorded session ids. →
Restore & resume
One app
- Home cockpit (
prefix h/⌥h) — baretmux-ideis the fleet home screen; a popup over any session. - Sidebar (
prefix b/⌥b) — a fleet nav column in any session. - Floating panels — explorer (
prefix e), git changes (prefix g), config (prefix v), each with an⌥fast-path twin. - Actions menu (
prefix u/⌥m) — native menu at the pointer (on button release), or right-click anywhere. - Cheat sheet (
prefix k/⌥k) — every key on one page. - One grammar (
j/k·enter·/·esc·?) and one theme (~/.tmux-ide/config.json) across chrome and widgets.
The keyboard-protocol saga
Early 2.6 builds bound the whole app to root-table Alt keys — one keystroke,
no prefix. It worked beautifully until an agent pane had focus, and then the
keys went dead. Root cause: Claude Code (and other modern TUIs) negotiate the
kitty keyboard protocol, which re-encodes Alt-<key> into a CSI-u escape
(ESC[104;3:1u for ⌥h) that tmux's root-table bind -n M-h never matches.
The bind wasn't broken — the keystroke tmux received simply wasn't the one it
was listening for.
The fix ships two layers. First, prefix twins: every surface also binds to
prefix + a letter (prefix h, prefix k, …). The tmux prefix survives every
keyboard protocol by construction, so these always work — they're now the
primary, documented path, and the dock advertises them ([ ⌂ home ^b h ]).
Second, kitty user-key fallbacks: for each Alt bind, tmux-ide teaches tmux
the exact kitty escape as a user-keys entry and binds it to the same action,
so the one-keystroke fast path keeps working under kitty-mode where the terminal
supports it. Coverage of that fast path varies by terminal; the prefix twin is
the guarantee.
Worktree flow
tmux-ide worktree create <branch> = a git worktree plus an adopted session
inside it — parallel agents on parallel branches. →
Worktrees
What moved to the background
The heavyweight orchestrator, missions, validation contracts, and the web dashboard are no longer the story. The task system still exists as an optional, secondary surface for coordinated multi-agent work — see Task system — but the product's center of gravity is now the terminal you already use.