openrig Explained: Run Claude Code and Codex as One Agent Team
Setup and Comparison
openrig runs Claude Code, Codex and Pi as one agent team with roles, shared context and owned work. Install, RigSpec, comparison and caveats (Oct 2026).
openrig is an open-source tool that runs existing coding-agent CLIs such as Claude Code, Codex and Pi as one team with roles, shared context and owned work. The README puts it as "a harness wraps a model, a rig wraps your harnesses." It is written in TypeScript, licensed Apache-2.0, and shipped on npm as @openrig/cli (which provides the rig command). It reached GitHub weekly trending and had about 7.1k stars as of October 12, 2026.
What openrig can do
- Team several agent CLIs: Claude Code and Codex are native runtimes; Pi and Oh My Pi run through RPC runners (per the README)
- Declare the team in YAML: a RigSpec defines pods (groups), members (seats) and edges (relationships), booted together with rig up
- Seats fix role and address: names like dev-build@starter stay stable even when the conversation inside changes
- Shared context: a culture file with team-wide guidance and a context library that every agent can use
- Owned work: rig send hands a task to a specific seat and rig queue shows each destination's queue
- Save and restore: rig down --snapshot saves state and rig up <name> brings it back; the Show HN post names losing the setup on reboot as the motivation
- tmux-based: each agent runs in its own tmux session you can attach to

Installation
Requirements are Node.js 22 or 24, tmux, and macOS or Linux (Windows only via WSL2; native Windows is not supported, per the README). Bun also works but still needs Node.js 22.
# One-command install (from the README; pinned to v0.6.8; preview with --dry-run first)
curl -fsSL https://raw.githubusercontent.com/mvschwarz/openrig/v0.6.8/scripts/install.sh | sh
# Step by step
npm install -g @openrig/cli
rig setup --dry-run
rig setuprig setup writes an openrig block into ~/.tmux.conf for mouse support and scrollback. Because it changes your environment, preview it with --dry-run first. Pick target agent CLIs with rig setup --providers claude|codex|both.
Quickest way to try it
The README quickstart launches the bundled starter rig in your own repository. Use --plan to see the launch plan before the real run.
rig daemon start # if stopped
rig terminal open saved:kernel --window # open the operator TUI
cd /path/to/your/repository
rig specs preview starter --kind rig # preview the bundled starter rig
rig up starter --cwd . --plan # show the plan only
rig up starter --cwd . # launch
rig ps --nodes --rig starter # status of each seat
rig send dev-build@starter '<task description>' # send work to a seat
rig queue list --destination dev-build@starter --limit 1000Bundled rigs include starter and factory, and according to coverage also product-team, adversarial-review and research-team. Run rig specs ls to see the list.
How roles, shared context and owned work work
A team is defined in a YAML RigSpec. The minimal example from the official reference, extended with a culture file and a delegation edge from lead to builder, looks like this.
version: "0.2"
name: my-rig
culture_file: culture/CULTURE.md
pods:
- id: orch
label: Orchestration
members:
- id: lead
agent_ref: "local:agents/orchestrator"
profile: default
runtime: claude-code
cwd: "."
edges: []
- id: dev
label: Development
members:
- id: build
agent_ref: "local:agents/impl"
profile: default
runtime: codex
cwd: "."
edges: []
edges:
- kind: delegates_to
from: orch.lead
to: dev.build- Roles (seats): each pod.member becomes a seat addressable like rig send dev-build@starter. A member can set runtime (claude-code, codex, pi, omp, terminal and more), model, role and permission_policy
- Relationships (edges): five kinds: delegates_to, escalates_to, can_observe, collaborates_with, spawned_by. Only delegates_to and spawned_by constrain launch order
- Shared context: the CULTURE.md named by culture_file is rig-wide guidance. Reusable agent blueprints are defined separately as AgentSpecs (skills, guidance, hooks, profiles)
- Owned work: tasks reach a seat via rig send, and rig queue list --destination shows that seat's queue, so you can see who holds what
In the Show HN post, the author says agents use rig send and rig capture to type into each other's terminals and read each other's screens (a tmux wrapper), with no separate messaging layer.
How it differs from existing tools
Tools for running many agents keep multiplying. openrig leans toward lining up the CLIs you already use and saving and restoring the lineup. The table is a rough guide; rows not based on official sources are general knowledge, so check current docs before adopting.
| Tool | Form | Main axis | Good fit |
|---|---|---|---|
| openrig | CLI + daemon (tmux-based) | Teams existing agent CLIs (Claude Code, Codex, Pi) via YAML, with seats fixing role and address | Running several CLIs side by side and restoring the same lineup after a reboot |
| Paperclip | Self-hosted web app (MIT) | Manages agents as a "company" with org chart, budgets and approval gates | Managing budgets and approvals through a UI |
| Claude Code subagents / agent teams | Built into Claude Code | Splits work inside Claude Code (check the official docs for the exact scope) | Staying within Claude Code only |
| claude-squad | Terminal app (understood to use tmux and git worktrees) | Manages several agent sessions in parallel (general knowledge; verify current features) | Running the same CLI many times with separate working trees |
| Docker Agent | YAML runtime (Docker CLI plugin) | Defines agents in YAML and delegates via sub_agents | Building generic multi-agent setups config-first |
For details, see Paperclip: managing multiple AI agents as an organization and Docker Agent (ex-cagent): YAML multi-agent runtime. To tune the Claude Code side, claude-code-templates is also relevant.
Things to watch before adopting
- Cost grows: more agents means more token spend. The author says on HN that past 4-5 agents it feels like losing track of the work
- Human supervision is still needed: one HN commenter reports agents finish about 80% but each PR still needs review and guidance, so time saved was small. The author agrees early mistakes can snowball
- Permissions and sandboxing: agents type into each other's terminals, so each CLI's permission settings matter. RigSpec has permission_policy, but operating rules are yours to define
- Conflicts in the same repo: several seats editing one working directory can collide; consider separate cwd or branches per seat
- Maturity: the author calls it early-stage, with the longest continuous run around 4 days. It is on a 0.6 version line, so specs may change. Start with a personal trial
FAQ
What is "Pi" in openrig?
Pi is a minimal terminal coding agent by Mario Zechner (badlogic, also known for libGDX), now hosted at earendil-works/pi. It offers interactive, JSON, RPC and SDK modes, and openrig drives it through the RPC mode. Oh My Pi is a community distribution built on Pi. Their RigSpec runtime names are pi and omp.
What about price and license?
openrig is free open source under Apache-2.0. The Claude Code or Codex usage running inside it is billed separately.
Does it run on Windows?
Native Windows is not supported; only WSL2 is, per the README. macOS and Linux are targeted and tmux is required.
How is it different from Claude Code subagents?
Subagents split work inside Claude Code. openrig is an outer layer that lines up separate CLIs (Claude Code, Codex and others) as independent tmux sessions and coordinates them by seat address.
Can it adopt tmux sessions I already run?
According to the README, rig discover finds existing tmux sessions and rig adopt brings them under management. Check the official docs for actual behavior.
Where should I start?
In a small repository, run rig up starter --cwd . --plan to check the plan, then send one small task to a single seat.
Summary
openrig is a layer for operating existing agent CLIs such as Claude Code and Codex as a team, using stable seat addresses, a shared guidance file, work queues and snapshots. Being tmux-based, you can look inside each agent directly; but as the author says, it is early-stage and human supervision remains essential. Check the official repository for current specs. This article is based on the public README, reference docs and the HN post, and the author did not run it hands-on.
Related free tools (no sign-up, instant results)
Feel free to contact us
Contact Us