Agents and models
Rivets runs two coding agents: Claude Code and Codex. Both run on your workers with your own logins, so every model call is billed to your subscription. This page covers the models each agent offers, the options you can set per run, and how to move a conversation to another agent or worker.
Agents
| Agent | Sign in on the worker | Notes |
|---|---|---|
| Claude Code | claude auth login |
A message sent while it works is read at its next step, without stopping the turn. |
| Codex | codex login |
Runs a process per turn. A message sent while it works stops the current turn and resumes the session with your message. |
A worker only offers the agents it finds installed and signed in. If you choose an agent no online worker can run, the task cannot start.
Models
Claude Code
Rivets offers a curated list of Claude models:
| Model | Fast mode |
|---|---|
| Opus 5.5 (default) | Yes |
| Fable 5.2 | |
| Fable 5.1 | |
| Fable 5 | |
| Opus 5 | Yes |
| Opus 4.8 1M | Yes |
| Opus 4.7 1M | |
| Opus 4.6 1M | |
| Sonnet 5.5 | |
| Sonnet 5 1M | |
| Sonnet 4.6 1M | |
| Sonnet 4.6 | |
| Haiku 4.5 |
Models marked 1M use the one-million-token context variant. A Claude job that names no model runs on Opus 5.5. The list comes from the worker, so a newly added model, such as Fable 5.2, appears once the worker is updated.
Codex
Codex models are discovered from the Codex CLI on each worker, newest generation first: GPT-6 Astra, Sol, and Luna, then the GPT-5.x line. Codex’s own default model is marked as the default. The list therefore follows the Codex version installed on the worker.
Adding models on a worker
Worker operators can extend or replace the lists with environment variables set for the worker process:
| Variable | Effect |
|---|---|
RIVETS_CLAUDE_MODELS |
Comma-separated Claude model IDs to offer in addition to the built-in list. |
RIVETS_CODEX_MODELS |
Comma-separated Codex model IDs, used when discovery returns nothing. |
On macOS and Linux, the background service passes only RIVETS_HOME and PATH to the worker, so these variables take effect when you run the worker in the foreground with rivets run. See Background service.
Per-run options
Set these in the New task dialog or the composer. They apply to the next run, and are locked while the agent is working.
| Option | Values | Notes |
|---|---|---|
| Reasoning effort | low, medium, high, xhigh, max for Claude. Codex adds ultra on models that support it. |
Higher effort thinks longer. ultra is Codex’s top level and lets it spawn sub-agents. Unless you set a default, Claude starts on high and Codex on medium. |
| Fast mode | On or off | Shown only when the selected model supports it. |
| Plan mode | On or off | The agent plans before it edits. |
Account-wide defaults
Set your preferred agent, model, and reasoning effort under Settings › Agents, in Agent defaults. They are preselected whenever you start a task or a conversation, on every device signed in to your account.
Each field falls back independently:
- Your saved default, if the worker that picks up the task still offers it.
- Otherwise, the model the worker marks as default: Codex’s own default, or Opus 5.5 for Claude.
- If a provider marks no default, no model is sent and the CLI chooses.
Context meter
The composer shows a ring for how much of the model’s context window the conversation is using, based on the usage the agent reports. Hover over it for the breakdown. It shows nothing until the agent has reported usage. For Codex, the worker reads the context size from Codex’s own session file, so the ring reflects the latest request rather than the thread’s running total.
Turn cost
To see the tokens and cost of the agent’s latest turn under its most recent answer, turn on Show the latest turn’s tokens and cost under Settings › General › Turn cost. On iPhone and iPad it is Show turn cost. It is off by default and applies to every device signed in to your account. The price is useful on API billing. On a subscription it does not apply.
Warm Claude processes
After a Claude job finishes, the worker keeps its Claude Code process alive for up to 2 hours and reuses it for the next message in the same conversation. This avoids restarting the CLI and keeps Claude’s prompt cache warm. A worker keeps at most 8 idle processes. Changing the model, effort, fast mode, or plan mode starts a new process that resumes the same session.
Operators can tune this with RIVETS_CLAUDE_SESSION_IDLE_MS (minimum 1 second) and RIVETS_CLAUDE_MAX_IDLE_SESSIONS (1 to 64), which, like the model variables above, reach a worker started with rivets run.
Sub-agents and background work
When Claude delegates to a sub-agent, Rivets nests everything the sub-agent does under the call that spawned it, at any depth. Work Claude starts in the background shows as Running in background until it reports back. While background tasks are still running, the conversation shows Waiting on N background tasks instead of appearing finished. If the run ends while background work is still going, the transcript shows N background tasks running. The line clears when the work finishes, the session ends, or the worker goes offline.
Questions from the agent
When Claude Code needs a decision from you, it asks with a question card docked above the composer instead of a list of bullet points. The card works on web, Mac, iPhone, and iPad:
- It shows Question 1 of 3 and so on, with dots to move between questions.
- Each question offers suggested answers, as single or multiple choice, and a field for your own answer.
- Send answers stays disabled until every question has an answer, then sends them all in one message.
The run ends normally when the agent asks, so nothing is left waiting on a worker. You can hide the card and answer later: the transcript keeps a record of the question that reopens it. Questions are included when you search or export the transcript.
A run that ends on a question also posts the question with its reply in Linear. Codex agents still ask in plain text, because Codex does not support this in the mode Rivets runs it in.
Handoff
Hand off to another agent
Choose Handoff in the task header to continue the conversation with a different agent or model. On iPhone and iPad, it is in the task’s actions menu. Rivets opens a linked draft in a new conversation. The new conversation starts with a bounded copy of the transcript so the next agent has the context. Attachments cannot be added to a handoff draft.
Continue on another worker
The task header shows the worker the task runs on, with a status dot: green when it is online, amber when delivery is stalled, and grey when it is offline. Choose it to see the worker’s name, state, when it was last seen, its cluster, and its owner.
If a task’s worker goes offline while a chat is open, the worker status reads Offline · paused and the header offers Continue on another worker. On iPhone and iPad, choose Continue elsewhere in the task’s actions menu. Rivets picks another compatible worker, stops the old run, creates a linked task and conversation, applies the latest file changes, and imports the transcript so far.