open source · Apache-2.0

relay. Your coding-agent subscriptions, working as one system.

What relay is

relay is an open-source harness for people who pay for more than one coding agent. It turns Claude Code, Codex and Grok Build into a team that shares memory, picks up work from GitHub, runs on machines you already own, and shows you everything it did and what it cost.

There is no new agent to learn and no token ever leaves your machines. GitHub issues are the task bus, a label picks the lane, a self-hosted runner executes the vendor's own CLI under your own login, and a pull request is the result. A Postgres database holds the shared memory and an append-only feed of events; this site is the read model over it.

relay is free and Apache-2.0 licensed. There is no paid tier, no sign-up wall and nothing to buy; you bring the subscriptions you already have.

The five rules

  1. 01

    Tasks move, credentials never do.

    Every model call runs on a machine where the owner logged in with the vendor's own tool. No token is copied, proxied, or stored in CI.

  2. 02

    GitHub is the task bus.

    An issue is a task, a label picks the lane, a pull request is the result. Nothing of record lives anywhere else.

  3. 03

    Every step starts fresh with a small brief.

    No transcript is ever sent to a model. A brief is the repo's rules file, the issue, relevant decisions, and the vendor guidance that matches the intent.

  4. 04

    Official vendor sources only.

    Model guidance comes from the vendor's documentation and the skills the vendor publishes. Community prompt guides are excluded unless the user allowlists a domain.

  5. 05

    Everything is an event.

    One append-only table records what every human, bot, and runner did, with tokens and cost. The ledger is a view over it.

How a task flows

How a task flows through relay1. Open an issue, add a lane label (GitHub). 2. A runner claims it (your machine). 3. The vendor CLI runs headless (your machine). 4. A branch and a PR appear (GitHub). 5. Preview builds, a second model reviews (Vercel · your machine). 6. You merge; memory updates (Postgres).1Open an issue, add a lane labelGitHub2A runner claims ityour machine3The vendor CLI runs headlessyour machine4A branch and a PR appearGitHub5Preview builds, a second model reviewsVercel · your machine6You merge; memory updatesPostgres
  1. 1

    Open an issue, add a lane label

    From a phone, a chat bot, or a terminal. agent:claude, agent:codex or agent:grok picks the lane.

  2. 2

    A runner claims it

    A self-hosted runner with that label checks out a fresh worktree and compiles a small brief.

  3. 3

    The vendor CLI runs headless

    claude -p, codex exec or grok -p under the machine's own login. Planner and subagents off.

  4. 4

    A branch and a PR appear

    The output is snapshotted and pushed; the usage line lands as a PR comment and a step.usage event.

  5. 5

    Preview builds, a second model reviews

    Vercel or CI builds the preview. A review lane on a different model comments.

  6. 6

    You merge; memory updates

    Decisions are extracted into shared memory and the rules file is regenerated for every linked repo.

Every step above is a row in the feed.

Quick install

Paste this into whichever coding agent you use:

Set up relay from https://github.com/kyleroche/relay following its AGENTS.md "Installing relay for a user" section. Stop and tell me when a step needs my browser.

Or by hand:

git clone https://github.com/kyleroche/relay && cd relay
pnpm install
pnpm relay doctor     # what is installed, logged in, and reachable
pnpm relay setup      # hooks + memory server into each CLI you have
cd ~/code/some-repo && pnpm --dir ~/relay relay link

Node 24 is pinned through .npmrc; pnpm picks it up. Nothing here needs an account with relay: it is free, and the default is the whole thing.

Link your model accounts

relay never asks for a token. Log in to each tool you own, on each machine that will run work. relay doctor tells you which ones it found; machines without a login simply do not get that lane's label.

ToolLoginPlan
Claude Codeclaude then /loginPro or Max
Codexcodex login, or fx login codexChatGPT
Grok Buildgrok login, or fx login grokSuperGrok
GitHubgh auth loginany

For agents

This site is built to be read by agents as well as people. Every page is server-rendered, the docs are served as Markdown on request, and the API and MCP server are described in machine-readable form.

License

Apache-2.0. Read AGENTS.md first if you want to contribute; it is written for people and agents alike. Source on GitHub.