Rivets
Documentation

Clusters and routing

Every worker belongs to a cluster, a named pool of machines. When you create a task or an automation, Rivets either routes it automatically or keeps it inside the cluster you pin. This page explains how that choice is made and how to see which workers have capacity left.

Clusters

You choose a cluster when you register a worker in Settings › Workers › Add worker: either Create a new cluster with a name, or join an existing one. Use clusters to separate machines that should do different work, for example a team’s shared build boxes and individual laptops.

Routing a task

The Worker cluster menu in the New task dialog offers Auto and every cluster in your organization.

Auto

Auto picks the best available worker for the task. Rivets considers only workers that are online and can run the agent you chose, then prefers them in this order:

  1. The worker bundled in your Mac app, if you are creating the task from that Mac and the worker is connected.
  2. Workers that reach Rivets through the same Cloudflare location as you.
  3. The remaining workers, balanced by capacity and current load.

Pinned to a cluster

When you pick a cluster, the task runs only on a worker in that cluster. A pin never falls back to a worker outside the cluster. If no worker in it is online and able to run the agent, the task cannot start.

Automations

Automations route the same way. Each run uses Auto or the automation’s pinned cluster. A pinned run with no available worker fails immediately, without retrying elsewhere. See Automations.

Capacity

A standalone worker runs an unlimited number of tasks at once unless you cap it with --max-workers:

rivets worker connect --max-workers 4

The Mac app’s bundled worker defaults to 12 concurrent tasks. Change it from 1 to 32 under Settings › This Mac.

Provider health and subscription usage

Each worker checks its agent CLIs continuously, including whether they are signed in, and reports the result. An agent that is missing or signed out is not offered on that worker.

Because agents run on your own subscriptions, each worker also reports how much of its Claude and Codex allowance is left. Home shows this in every client:

  • Session and weekly windows. Each window shows the percentage used and when it resets.
  • Model-scoped windows. When Claude applies a weekly limit to one model family, it appears as a separate window under Claude’s own name for that model.

A window the provider has not reported is shown as unknown rather than empty. You can refresh the numbers on demand from Home for workers that support it.

When a worker disconnects

A worker can lose its connection in the middle of a turn without losing the turn. It keeps every event the server has not yet acknowledged in a durable queue on disk and delivers it after reconnecting. Meanwhile the task shows Worker offline · paused.

If the worker does not come back, use Continue on another worker in the task header. Rivets picks another compatible worker, stops the old run, creates a linked task with the latest file changes applied, and imports the conversation so far. See Agents and models.

Removing a worker

Removing a worker in Settings › Workers revokes its token immediately. Work that was running on it is not moved to another machine.

Type to search the docs.