Repo of the Day
mvschwarz/openrig: Multi-agent harness that runs Claude Code and Codex together as one system
Published: Oct 1, 2026
Open repository ↗Multi-agent harness that runs Claude Code and Codex together as one system - mvschwarz/openrig
Summary
OpenRig is a TypeScript orchestration harness that turns individual AI coding agents (Claude Code, Codex, Pi) into a managed, persistent team. Engineers define multi-agent topologies in YAML "rig specs," then boot the team with one command. Each agent runs in its own tmux session, and the whole network is visible through a terminal UI backed by a local daemon.
What it is useful for
OpenRig addresses terminal sprawl when running multiple AI coding agents. Concrete uses documented in the README:
- Running Claude Code and Codex together as one managed system instead of juggling separate terminal sessions per provider.
- Owner/checker workflows where one agent implements a change and another reviews the exact same candidate. The
first-projectstarter ships exactly this pattern. - Larger product squads with orchestrators, implementation, QA, design, and independent reviewers via the
product-teamstarter. - Discovering and adopting existing tmux sessions into a managed rig with
rig discoverandrig adopt. - Snapshotting a full topology with
rig down --snapshotand restoring it by name withrig up <name>. - Service-backed rigs: the shipped
secrets-managerexample runs a HashiCorp Vault instance managed by a specialist agent, accessible viarig send ... --verify. - Coordinating across agents with
rig send,rig broadcast, andrig chatroom, plus an experimental Slack integration (rig slack manifest). - Protecting a seat you type into manually with
rig seat set-typing-guardso the system holds automatic messages instead of typing over your work.
How engineers can use it
Requirements: Node.js 22 or 24 (Node 20 is no longer supported; on Apple silicon use Node 22), tmux, macOS or Linux. Native Windows is not supported and WSL2 has not been tested.
Install:
npm install -g @openrig/cli
rig setup --dry-run
Preview and launch a starter in your repository:
cd /path/to/your/repository
starter=first-project
rig specs preview "$starter" --kind rig
rig up "$starter" --cwd . --plan
rig up "$starter" --cwd .
rig tui --shared
Then give the owner one bounded outcome:
rig send "dev-owner@$starter" 'Implement <one useful change>. Track the task in the queue and return its ID.'
Other documented starters: first-project-claude, first-project-mixed, conveyor, implementation-pair, adversarial-review, research-team, secrets-manager. Browse the library with rig specs ls.
Important limitations called out in the README: OpenRig writes provider hooks, trust records, and workspace files (Claude's .claude/settings.local.json, Codex's ~/.codex/config.toml, an OpenRig block in ~/.tmux.conf). Some writers recover unreadable settings as empty objects, which is not a complete preservation guarantee, so back up relevant configs before first use. Activity relays exclude prompt text and tool arguments. See the README's "What OpenRig changes on your machine" section for full detail.