March 31, 2026
initech is no longer Claude Code-only. With role_overrides in initech.yaml, any role can run a different CLI. Codex for one agent, Amp for another, Claude Code for the rest. Same IPC, same activity detection, same TUI.
A new role_overrides block in initech.yaml lets you override the default command per role:
# initech.yaml role_overrides: codex-eng: command: ['codex', '--full-auto', '--no-alt-screen'] amp-design: command: ['amp']
Each override maps a role name to a command array. The role still gets its own PTY, its own pane in the TUI, and full access to initech send / initech peek. The runtime doesn't care what's inside the PTY.
The "agent runtime" framing was aspirational until now. initech assumed Claude Code everywhere: the activity detection relied on Claude's spinner, the event system parsed Claude's JSONL logs, the role templates were CLAUDE.md files.
With command overrides, the core primitives still work. PTY byte flow detects activity regardless of which CLI produces it. IPC messaging is terminal-level, not Claude-specific. The CLAUDE.md templates only apply to roles running Claude Code; other CLIs bring their own configuration.
What you lose with non-Claude CLIs: JSONL-based event parsing (bead completion, stall detection) and the session log-aware toast notifications. Activity detection and IPC still work. For mixed fleets, the Claude Code agents get the full feature set; the others get reliable PTY management and messaging.
The obvious one: you want to compare agent CLIs on the same codebase. Run an eng role with Claude Code and a parallel eng role with Codex. Same task, different agents, visible side by side.
The practical one: some tasks suit different tools. A Codex agent in full-auto mode for straightforward refactors. Claude Code for complex multi-file changes that need more guidance. Both visible and addressable from one terminal.
$ curl -fsSL https://initech.sh/install.sh | bash
Source and operator guide: github.com/nmelo/initech