Skip to main content
株式会社オブライト
Software Development2026-10-146 min read

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

Architecture of openrig: a RigSpec YAML booted with rig up starts seats (orch.lead=claude-code, dev.build=codex, dev.review=pi etc.) as tmux sessions, supported by shared context (CULTURE.md and the context library), owned work (rig send and rig queue), and save/restore snapshots.

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 setup

rig 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 1000

Bundled 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.

ToolFormMain axisGood fit
openrigCLI + daemon (tmux-based)Teams existing agent CLIs (Claude Code, Codex, Pi) via YAML, with seats fixing role and addressRunning several CLIs side by side and restoring the same lineup after a reboot
PaperclipSelf-hosted web app (MIT)Manages agents as a "company" with org chart, budgets and approval gatesManaging budgets and approvals through a UI
Claude Code subagents / agent teamsBuilt into Claude CodeSplits work inside Claude Code (check the official docs for the exact scope)Staying within Claude Code only
claude-squadTerminal 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 AgentYAML runtime (Docker CLI plugin)Defines agents in YAML and delegates via sub_agentsBuilding generic multi-agent setups config-first

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