What is relay?
You describe a feature. A full team of AI agents figures out how to build it together.
That’s relay. No turn-taking. No phases. A real team — in parallel.
The problem with single-agent AI
Section titled “The problem with single-agent AI”Most AI coding tools run a single agent that does everything: plans, researches, codes, reviews, tests, and deploys — sequentially, from one context window. It works for small tasks. It falls apart for anything complex.
A single agent can’t specialize. It can’t parallelize. And it can’t catch its own mistakes.
What relay does differently
Section titled “What relay does differently”relay spawns a team of Claude Code sub-agents — each with its own role, its own persona, and its own judgment. They run simultaneously, communicate through a shared MCP server, and collaborate peer-to-peer until the work is done.
No phases. No turn-taking. Just a team working in parallel.
Watch it happen live
Section titled “Watch it happen live”The real-time dashboard at http://localhost:3456 updates over WebSocket as agents work:
- Session Progress — task completion ratio, active agents, and elapsed time in the header
- Agent Arena — all agents side by side with live status, current thinking, and a task completion mini-bar on each card
- Activity Feed — combined timeline of messages, thinking streams, task updates, and artifacts. Navigate with keyboard shortcuts (
j/k/Enter/Escape) - Task Board — collapsible Kanban with a color-coded progress bar and dependency indicators (“Blocked by N” / “Blocks N tasks”) on task cards
- Mobile layout — bottom tab navigation (Agents / Activity / Tasks) on narrow screens
Session data lives in-memory for the duration of the server process.
Define any team, for any domain
Section titled “Define any team, for any domain”relay ships with no built-in agents. You define an agent pool in .relay/agents.pool.yml and relay selects the best team for each task:
agents: pm: name: Project Manager emoji: "📋" tags: [planning, coordination] tools: [create_task, get_all_tasks, send_message, get_messages] systemPrompt: | You are the project manager. Break down requirements into tasks.
researcher: name: Researcher emoji: "🔬" tags: [research, analysis] tools: [claim_task, post_artifact, send_message] systemPrompt: | You are a researcher. Investigate topics and post findings as artifacts.
researcher2: extends: researcher # inherit persona, override fields name: Senior Researcher emoji: "🔭"Web dev team, research team, marketing team, legal team — if you can describe a role in a system prompt, relay can run it.
How it’s built
Section titled “How it’s built”relay is a Claude Code plugin. It requires Claude Code v1.0.33+ — install relay with /plugin marketplace add and /plugin install inside Claude Code. See Installation for details.
relay has three layers:
| Layer | What it does |
|---|---|
| MCP server | Message bus, task board, artifact store, and memory layer. No Claude API calls — pure infrastructure. |
| Skills | .md files that tell Claude Code how to orchestrate agents. Change behavior by editing text, not code. |
| Hooks | PostToolUse (dashboard push), PreToolUse (edit guard), Stop (orchestrator cleanup), SessionEnd (async session cleanup). |
What you get
Section titled “What you get”- Parallel execution — all agents start simultaneously, no sequential phases
- Atomic task claiming — agents race to claim tasks;
claim_taskis race-condition safe - Persistent memory — agents write findings to
.relay/memory/after each session; the next session picks up where the last left off - Real-time dashboard — watch tasks, messages, and agent reasoning update live at
http://localhost:3456 - Session summaries — each session is archived to
.relay/sessions/; agents can read past context withget_session_summary
Ready to try it? Install relay →