Commands
Complete CLI reference. All commands require initech.yaml in the current or parent directory unless noted.
Session Lifecycle
initech
Launch the TUI. Reads initech.yaml, allocates a PTY per agent, and renders the terminal grid.
| Flag | Description |
|---|---|
| --reset-layout | Ignore saved layout, start with auto-calculated defaults |
| -v, --verbose | Enable DEBUG-level logging to .initech/initech.log |
| --auto-suspend | Auto-suspend idle agents under memory pressure |
| --no-color | Disable colored output (global, works on all commands) |
$ initech $ initech --verbose --auto-suspend
initech init
Bootstrap a new multi-agent project. Creates the directory structure, role CLAUDE.md files, project documents, and optionally initializes git and beads.
| Flag | Description |
|---|---|
| --force | Overwrite existing files |
If initech.yaml exists, it is loaded. Otherwise, interactive prompts collect the project configuration: project name, source repo, and agent selection.
$ mkdir myproject && cd myproject $ initech init Project name [myproject]: Select agents: [x] super [x] eng1 [x] qa1 [x] shipper Created: initech.yaml, 4 workspaces, docs/
initech down
Gracefully stop the TUI session. Sends a quit signal via IPC. All agent panes are closed. Conversation state is preserved in .claude/ directories.
$ initech down Session 'myproject' stopped.
initech update
Update initech to the latest version. Downloads the release from GitHub, verifies the SHA256 checksum, and replaces the binary. On Homebrew installs, prints brew upgrade initech instead.
| Flag | Description |
|---|---|
| --check | Check for updates without downloading |
| --force | Re-download even if already on latest version |
$ initech update --check Current: v1.3.0 Latest: v1.3.1 Update available. $ initech update Downloading v1.3.1... ok Checksum verified. Updated.
Agent Lifecycle
initech stop
Kill one or more agents to free memory. The pane stays in the roster for later restart. Useful when you need to reclaim resources without removing the agent from the session.
$ initech stop eng2 qa2 Stopped eng2. Stopped qa2.
initech start
Bring stopped agents back into the session. Respawns the process with the same command and environment. Use --bead to dispatch work immediately after the agent starts.
| Flag | Description |
|---|---|
| --bead <id> | Dispatch bead after agent starts (single agent only) |
$ initech start eng2 Started eng2. $ initech start eng1 --bead ini-42 Started eng1. Dispatched ini-42 to eng1.
initech restart
Kill and respawn a specific agent. The old PTY process is terminated and a new one is allocated with the same command and environment. Use --bead to dispatch work after restart.
| Flag | Description |
|---|---|
| --bead <id> | Dispatch bead after agent restarts |
$ initech restart eng1 Restarted eng1. $ initech restart eng1 --bead ini-42 Restarted eng1. Dispatched ini-42 to eng1.
initech add
Add a new agent to the running TUI session. The workspace directory (<project_root>/<name>/) must already exist with a CLAUDE.md. The agent is session-scoped: initech.yaml is not modified.
| Flag | Description |
|---|---|
| --bead <id> | Dispatch bead after agent starts |
$ initech add eng3 Added eng3.
initech remove
Remove an agent from the running TUI session. Kills the process and removes the pane. The workspace directory is not deleted. initech.yaml is not modified.
$ initech remove eng3 Removed eng3.
Communication
initech send
Send text to an agent's terminal. Injects the text into the target agent's PTY and presses Enter by default. Delivery is synchronous: if the command returns, the agent received the message.
Supports cross-machine addressing with host:agent format when connected to remote daemons.
| Flag | Description |
|---|---|
| --no-enter | Send text without pressing Enter |
# Send a command to an agent $ initech send eng1 "fix the auth bug in middleware.go" # Send without pressing Enter (partial input) $ initech send eng1 "draft response" --no-enter # Send to an agent on a remote machine $ initech send workbench:eng1 "run the full test suite"
initech peek
Read an agent's terminal output without sending anything. Captures the visible content of the agent's terminal pane.
| Flag | Description |
|---|---|
| -n, --lines <N> | Number of lines to capture (default: all visible) |
$ initech peek eng1 -n 10
initech patrol
Bulk peek across all agents. Gathers the last N lines from every agent pane and prints them with headers. Replaces running multiple initech peek commands.
| Flag | Description |
|---|---|
| -n, --lines <N> | Lines per agent (default: 20) |
| --active | Skip idle agents with no output |
| --agent <name> | Filter to specific agent(s), repeatable |
# All agents, 20 lines each $ initech patrol # Only active agents, 5 lines $ initech patrol --active -n 5 # Specific agents $ initech patrol --agent eng1 --agent eng2
Observability
initech status
Show agent status table with activity state, bead assignments, and whether each agent is alive.
$ initech status AGENT STATE BEAD super idle eng1 active ini-42 eng2 idle qa1 active ini-38 pm idle shipper idle
initech bead
Set or clear the current bead assignment for an agent pane. The bead ID appears in the TUI ribbon badge and agent overlay panel.
Inside a TUI pane, the agent is auto-detected from INITECH_AGENT. Outside the TUI, use --agent.
| Flag | Description |
|---|---|
| --agent <name> | Target agent (auto-detected inside TUI) |
| --clear | Clear the current bead display |
# Inside a TUI pane (agent auto-detected) $ initech bead ini-42 $ initech bead --clear # Outside the TUI $ initech bead --agent eng1 ini-42
initech standup
Generate a morning standup summary from beads. Queries the bead tracker for recently shipped, in-progress, and ready work.
$ initech standup Shipped yesterday ini-38 Add role override support ini-39 Fix patrol --active flag In progress ini-42 Auth middleware refactor (eng1) Ready for work ini-44 Update install script for arm64 ini-45 Add initech doctor network checks
Cross-Machine
initech serve
Run the headless daemon for remote TUI connections. Launches agents in headless mode (no TUI rendering) and listens on TCP for yamux connections from TUI clients.
Requires listen address in initech.yaml. See cross-machine docs for full setup.
# On the remote machine (workbench) $ initech serve Listening on :7391 (peer: workbench) Started eng1, eng2, eng3
initech peers
Show connected remote machines and their agents.
$ initech peers PEER AGENTS local super pm workbench eng1 eng2 eng3
Scheduling
initech at
Schedule a timed message to an agent. Supports relative durations (--in) and absolute times (--at). List and cancel pending timers.
| Flag | Description |
|---|---|
| --in <duration> | Schedule after duration (e.g., 30s, 5m, 2h) |
| --at <time> | Schedule at time (HH:MM, h:MMam/pm, or YYYY-MM-DD HH:MM) |
| --list | List pending timers |
| --cancel <id> | Cancel a timer by ID |
# Send in 30 minutes $ initech at eng1 "run make test" --in 30m # Send at 2pm $ initech at eng1 "check status" --at 14:00 # Send to a remote agent at a specific date/time $ initech at workbench:eng1 "deploy" --at "2026-04-01 09:00" # List pending timers $ initech at --list # Cancel a timer $ initech at --cancel at-1
Diagnostics
initech doctor
Check prerequisites, project configuration, and terminal environment. Run this before initech if something isn't working.
Checks:
- initech version
- Claude Code installed and accessible
- Git version
- Terminal size (minimum 80x24)
- Project health (if initech.yaml found): config validity, workspace directories, role CLAUDE.md files
$ initech doctor Prerequisites ok initech v1.3.0 ok claude (Claude Code) ok git 2.44.0 ok Terminal: 212x56 (meets 80x24 minimum) Project Health ok initech.yaml valid ok 6 workspaces found ok All CLAUDE.md files present All checks passed.
Last updated: April 2026