Chats & agents
Everything in Agent Relay Desktop happens in a chat. A chat is one agent run the app launches and supervises for you: you set the objective, the app spawns the agent, and every turn streams back into the conversation.
Agents
Agent Relay drives the agent CLIs already installed on your machine. It doesn't replace them. Supported agents:
| Agent | Provider |
|---|---|
| Claude Code | Anthropic (Fable, Opus, Sonnet, Haiku) |
| Codex | OpenAI |
| Gemini | |
| Kimi | Moonshot |
| OpenCode |
Only agents found on your PATH are selectable; the rest show as unavailable in Settings → Agents until you install them.
Choosing an agent and model
The Agent & model control has two parts:
- Intelligence: the selected agent's models (for example Fable, Opus). Pick one to pin it. An agent always runs some model, so intelligence can't be cleared.
- Model: which agent is active. Clicking the checked agent again clears your preference, and the agent uses its own default model.
Set these once as launch defaults in Settings, and override them per chat whenever you like.
Launch defaults
Settings → Launch defaults controls what every new chat starts with:
- Agent & model: your standing default.
- Command approval: Ask, Approve, or Full auto.
- On rate limit: Switch agent (auto-continue on another agent) or Stop.
Handing off between agents
Because Agent Relay speaks to every agent through one interface, you can move a
conversation between them, manually, or automatically when one hits a rate
limit. Slash commands like /subagent and /review bring a second agent into
the same session for a scoped task or a review pass.
Who takes over, and what they're told
With On rate limit → Switch agent, the successor isn't the next name on a list. Once the running agent passes 90% of a usage window, Agent Relay asks it, while it still has the quota to answer, what's left to finish and which of your installed, signed-in, not-already-limited agents is best suited to continue. You'll see one quiet line:
claude at 91%: codex will continue if the limit hits
When the limit actually arrives, the switch is immediate: the decision was made minutes earlier, so nothing has to be worked out at the worst possible moment. The incoming agent is handed the remaining job, not just the last thing you typed.
That memory is shared with the relay CLI and survives quitting the app. If you
burn through Claude in the terminal, the desktop already knows not to send work
there. When a window resets, you're offered the agent back rather than switched
automatically; by then you may well have settled into the successor.
If nobody can take over, the app says why ("codex is rate-limited, gemini is not installed") instead of shrugging.
The menu bar shows who is standing by without you opening the window, along with anything blocked on you.
Where your work lives
Chats are local-first. Transcripts and session data are journaled on your own machine. See Privacy for exactly what's stored and where.