mvschwarz / openrig

Multi-agent harness · Node 20/22/24 + tmux

A harness wraps a model.
A rig wraps your harnesses.

OpenRig turns AI coding agents from a pile of terminal sessions into a persistent, organized team. Define the team in YAML, boot it with one command, and talk to a lead agent about the outcome you want — it coordinates specialists and brings back the decisions that need you.

First run, from your repository

$ npm install -g @openrig/cli $ rig setup --dry-run $ rig up first-project --cwd . --plan $ rig tui --shared

One rig, two harnesses

managed as one system
Rig — defined in YAML, booted with one command
Harnesses — native, both authenticated separately
Claude Code--permission-mode acceptEdits
Codex-s workspace-write
Wrapped by each harness The model The part everyone talks about, and the only layer OpenRig does not manage.

The starter rig launches two Codex seats — an owner and a checker. The owner records the task, the checker reviews the exact candidate, and you read the result.

What it changes on your machine

printed before install, not after
When
What changes, and why
npm installation
Installs the CLI, bundled components and dependencies under your npm prefix. The postinstall checks the Node version and that the SQLite module loads. It does not run daemon or provider setup.
rig setup
Writes an OpenRig block in ~/.tmux.conf for mouse support and scrollback. On macOS it can install cmux. --dry-run shows the plan without applying it.
Daemon startup
Creates instance state under OPENRIG_HOME, seeds a discovery skill, and writes Codex hook configuration and trust records — even before a rig launches.
Rig / seat launch
Creates tmux sessions, supplies seat identity, and pre-trusts the workspace.
Permissions
The built-in bootstrap does not add rig command allow rules. Broader access is a separate, explicit choice you make.

Reproduced from the project’s own disclosure table. Activity relays send event type, seat identity and timestamps — the project states that payload excludes prompt text and tool arguments.