NEW Live Mode: your TUI shows what matters right now. Read the blog post
EN | JA | ZH | PT | ES | KO

tmux wasn't built for agents. initech is._

See the work, not just the result. Reliable IPC, live activity detection, role system, cross-machine coordination.

$ curl -fsSL https://initech.sh/install.sh | bash

or: brew tap nmelo/tap && brew install initech

The Problem

? send-keys fired. Did it land?

tmux has no delivery guarantee. If a keystroke drops, the coordination chain breaks silently — the next agent never starts. You find out by noticing nothing happened.

? Is that agent stuck or just thinking?

In tmux, a hung agent and a working one look identical. The only visibility you have is peeking each pane manually, one at a time, every time you want to know.

? Who should pick up this task?

tmux doesn't know what tasks exist, who's assigned to what, or that an agent just finished. You're the only thing connecting those dots. Every time. Manually.

. . .

A Runtime That Understands Agents

* All agents, one screen

Every agent gets its own pane. See all of them at once in a grid, or zoom into one. Switch layouts on the fly. No tmux required.

* Agents talk to each other

eng1 reports completion to super. Super dispatches to QA. Every message is confirmed delivered. No silent drops.

* Knows when work finishes

When an agent finishes, stalls, or hits an error loop, a toast fires. You don't poll — the runtime tells you.

* Live status at a glance

Green dot means working. Gray means idle. Yellow means idle with tasks waiting. The overlay shows every agent's state and current task.

* Native support for beads

Agents claim beads, update status, and report completion. The TUI reads bead assignments directly and shows them in each pane's ribbon and the status overlay.

* Work is never invisible

When an agent claims a bead, you see it immediately. When work finishes, a toast fires. When tasks are waiting and agents are idle, initech flags the mismatch.

* Run agents across machines

Run initech serve on any remote machine. The local TUI streams all remote agent panes live. No SSH tunneling. One terminal shows your whole fleet.

* host:agent addressing

initech send workbench:eng1 "start the API refactor" reaches an agent on a remote machine as reliably as a local one. initech peers lists every connected machine and its agents.

* Any CLI, any role

Not locked to Claude Code. Override the command per role with role_overrides in initech.yaml. Run Codex for one agent, Amp for another, Claude Code for the rest. Same IPC, same activity detection, same TUI.

* Mix your fleet

role_overrides: codex-eng: command: ['codex', '--full-auto']. Each role gets its own CLI, flags, and behavior. The runtime doesn't care what's inside the PTY.

. . .

Quick Start

# install
$ curl -fsSL https://initech.sh/install.sh | bash

# bootstrap a project
$ mkdir myproject && cd myproject
$ initech init
  Project name [myproject]:
  Select agents: [x] super [x] eng1 [x] eng2 [x] qa1 [x] shipper
  Created: initech.yaml, 7 workspaces, docs/

# launch the TUI
$ initech

# agents talk to each other directly
super> initech send eng1 "fix the auth bug in middleware.go"
eng1>  initech send super "ini-42: ready for QA"

# check on everyone
$ initech status
$ initech patrol
. . .

Commands

initech
launch the TUI
initech init
bootstrap project
initech send <agent> <text>
deliver message to agent
initech peek <agent>
read agent terminal output
initech patrol
bulk peek all agents
initech status
agent table
initech bead <id>
report bead assignment
initech stop / start / restart
manage agent lifecycles
initech add / remove
hot-add/remove agents
initech serve
run headless daemon for remote connections
initech peers
list connected remote machines and agents
initech at <agent> <time> <text>
schedule a timed message to an agent
initech standup
morning standup from beads
initech doctor
check prerequisites + health
initech down
graceful shutdown
initech update
update to the latest version
. . .

TUI Keybindings

`
command modal
Alt+Left/Right
navigate panes
Alt+1/2/3/4
focus / 2x2 / 3x3 / split layout
Alt+z
zoom focused pane
Alt+s
toggle agent overlay
Alt+q
quit
. . .

Stack

Go 1.25. cobra, yaml.v3, charmbracelet/x/vt, tcell, creack/pty.

9,300 lines of source. 10,500 lines of tests. 15 commands. 11 agent role templates.