01Build the chain
Open the Relay view from the sidebar (needs an open project), name the relay, and add ordered steps. Per step, set the agent, model, permission preset, optional Claude budget cap, and the prompt. On non-first steps, insert the +{prev} chip to reference the previous step's output.
02Start it on a slot
From an empty grid slot click RELAY to open the builder, then START. The definition is always persisted first, then the chain launches headless on the managed slot. A slot rejects a second start while a run is Running or Paused — one active run per slot, enforced.
03Steps run headless
The runner builds the CLI invocation (claude -p --output-format stream-json, or codex exec --json), spawns the child with stdin closed, tees raw JSONL to disk, and feeds it to the parser. Completion is pipe EOF plus the wait() exit code plus the parsed result.
04Watch and checkpoint
The pane shows a live step counter, turns, cost, exit code, an activity line and the extracted final output. In manual mode it pauses at a checkpoint — press CONTINUE to release the next step, or ABORT to tree-kill the current child and settle the run as aborted.
05Restart-safe by default
On rig launch or workspace switch, runs hydrate from .13x/relays/runs/ and the newest run per slot rebinds to its pane. RESET drops the slot binding without deleting the run — the history stays on disk.