Steering and multiplayer
Every task in Rivets is shared. Anyone with access to the repository can open it, watch the agent work in real time, and send it messages. This page covers how streaming, steering, and queued messages behave when several people work on the same task.
Live streaming
Agent output streams to every open client as it happens: web, Mac, iPhone, and iPad. Each conversation is an ordered log, so a client that reconnects picks up exactly where it left off, and every viewer sees the same transcript in the same order.
The Changes tab follows the agent too. After each tool call that may have written files, the worker uploads a fresh snapshot and everyone’s view updates.
Presence and participants
The task header shows who is on the task. Inside a conversation, you see who else is viewing and when someone is typing.
Steering
Send a message while the agent is working to steer it. What happens next depends on your preference under Settings › Messages › While the agent is working:
| Option | Behavior |
|---|---|
| Steer the agent (default) | Your message interrupts the agent’s current turn and is picked up straight away. |
| Queue | Your message waits until the current turn finishes. |
The setting is per person and syncs across your devices. The composer placeholder changes to tell you which mode you are in.
With Claude Code, an interrupt stops the current turn in place, the same as pressing Esc in Claude Code, and the conversation carries on. With Codex, the current turn is stopped and the session resumes with your message.
Queued messages
A message that has been sent but not yet taken by the agent sits in a queue above the composer, so the agent’s output cannot bury it. Queued messages stack up in order. Their author can:
- Edit the message before the agent takes it.
- Delete it.
- Send now, which moves it to the front and interrupts the turn in progress.
If you edit a message just as the agent picks it up, the edit may arrive too late. When that happens, Rivets says so in the conversation rather than showing words the agent never received.
Attribution
Every message records who sent it. The transcript shows the author of each message, and commits made from a task carry the identity of the person who triggered them.
Cancel a run
To stop the agent, use the stop control in the composer or press ⌘.. Cancelling ends the current run. You can send another message to continue.
Notifications
The Mac, iPhone, and iPad apps send a push notification when an agent run finishes. On Mac, turn Agent completion notifications on or off in Settings.
Find in a transcript
Press ⌘F to search the current conversation. Matching rows are highlighted, and folded tool activity that matches opens while the search is active. Press Return and Shift-Return to move between matches.
Export a transcript
Copy a conversation as Markdown from its tab menu:
| Action | Contents |
|---|---|
Copy concise transcript (⌥⌘C) |
Messages and the agent’s replies. |
| Copy full transcript | The concise transcript plus reasoning and every tool call. |
Delegated work
When an agent spawns a sub-agent, Rivets nests the sub-agent’s work under the call that started it, with progress counted on the header. See Agents and models.
Access
Only members with access to a task’s repository can see, stream, or steer it. When an owner changes team access, open clients reload their workspace to apply the change. Unsent drafts can be lost during that reload. See Teams and permissions.