One app for Claude, Codex & Gemini

Conduct your
coding agents.

Run Claude Code, Codex, and Gemini side by side, each in its own context and folder. Fan out work in parallel, approve from your phone, and merge the best results into one.

$curl -fsSL https://github.com/AkshobyaRaoSWE/relay/releases/latest/download/install.sh | bash
Free. Runs local. No account, no servers, no telemetry. macOS (Apple Silicon).
Claude Code / Codex / Gemini / parallel contexts / phone approvals / merge across engines / runs local / zero telemetry / isolated worktrees / signed auto-updates /  Claude Code / Codex / Gemini / parallel contexts / phone approvals / merge across engines / runs local / zero telemetry / isolated worktrees / signed auto-updates / 
3
engines, one interface
0
servers. Runs on your machine.
parallel contexts, isolated
1 tap
approvals, from your phone
The shape of the work

The bottleneck was never the model. It was one window and one keyboard.

A single agent in a terminal means one conversation, one folder, and you pinned to the desk to approve every command. Relay turns that into a control room: many agents, each sandboxed, all visible at a glance, and a decision is a tap away wherever you are.

Isolation

Every agent in its own world.

Each context binds to a project folder and its own git worktree, so agents working in parallel never step on each other. Fan out four tasks, walk away, come back to four clean branches.

  • Per-context folder, branch, and session
  • Run many at once, streamed live
  • One glance shows what needs you
checkout-flow82%
auth-refactor61%
billing-uidone
docs-refresh24%

4 worktrees · 0 collisions

Merge

Cross the streams, on demand.

Pick two contexts, even ones running different engines, and merge them into a temporary review chat that carries the combined work. Compare approaches, take the best, throw the scratch away. The originals never change.

  • Merge across Claude, Codex, and Gemini
  • Non-destructive, disposable scratch space
  • Hand work off between agents
auth-refactorCodex
billing-uiGemini
merged · temporaryreview
Multi-engine

Three engines. One muscle memory.

Claude Code, Codex, and Gemini, unified under the same streaming, the same approval flow, the same slash-command palette. Choose the right brain per task, switch it per context, never learn three tools.

  • Identical approvals for all three
  • Each engine's own commands, one palette
  • Swap engine mid-project
Claude CodeOpus 4.8
Codexapp-server
GeminiACP
Relay

Approve from anywhere.

Start a long task, pocket your phone, and get pinged the moment an agent needs a decision. Read exactly what it wants to run, tap Allow, and it keeps going. The desk is the cockpit; your phone is the pager.

  • Live mirror of every context and its output
  • Answer permission prompts remotely
  • Send, stop, rename, and merge from the phone
checkout-flow
ASShip the retry fix and run the suite.
Edited the state machine. Requesting permission to run the test suite.
CLAUDE WANTS TO RUN
pnpm test --filter checkout
Deny
Allow
Built in

Everything the workflow needs.

Interactive approvals

Approve or deny every edit and command, with arrow-key option prompts, across all three engines.

Slash commands

Relay's commands plus each engine's own, in a fast arrow-key palette.

Paste images

Drop a screenshot into any context and the agent sees it, on every engine.

Light & dark

A clean dashboard with a real dark theme and a distraction-free focus mode.

Auto-updates

Signed, in-app updates for Relay and one-click updates for every engine.

Local & private

No Relay servers. No telemetry. Your keys, your machine, your code.

Get started

One command. No account.

Installs and opens with no security prompt. Self-contained, bundles its own runtime, and auto-updates after first launch. macOS (Apple Silicon).

$curl -fsSL https://github.com/AkshobyaRaoSWE/relay/releases/latest/download/install.sh | bash
Downloaded with a browser instead? macOS blocks unsigned apps once. Move Relay to Applications, then run: xattr -dr com.apple.quarantine /Applications/Relay.app and open it. The curl command above skips this entirely.