Steer a live run
Correct a run while it works, or take the wheel and drive it yourself. Send a message when the agent needs a nudge: a constraint, a fact it is missing, a better direction. Take over when you want hands on the keyboard: you get a shell in the run’s space, the agent waits, and you hand it back with a decision.
Available when your administrator enables runs and deputies.
Before you start
- The run is still working. Its status is not
succeeded,failed,timed out, orcanceled. For a finished run, see Continue a finished run. - Any member who can see the run can send it a message.
- To take over, the run must be yours or your team’s: a run you started, a run of your own deputy, or a run of a team deputy whose team you are in. Admins can take over any run.
Send a message
- Open the run from Runs in the left rail.
- In the compose box at the bottom of the run page (Reply to the agent: a correction, a constraint, new information…), write your message. For example: “Use the staging database, not prod.”
- Press Cmd+Enter or Ctrl+Enter, or click the send button.
- Optional: click Interrupt to ask the agent to stop the step it is on and read your message now.
By default the agent reads your message when it finishes the step it is on. A chip under the box tracks it: queued, then interrupting and interrupt relayed if you interrupted. You can click Interrupt now on a queued message.
If the run is waiting on a question, answer the question first. Nothing you send in the box reaches the agent until that question is answered. See Answer a question from a run.
Take over
- On the run page, click Take over in the header, next to Cancel run.
- Optional: write why you are taking over. The reason is recorded on the run.
- Click Take over now.
- The agent stops at its next step and waits for you. It is not canceled, and its clock stops while you hold the wheel.
- Work in the Takeover shell drawer. It is a shell in the run’s space, and while you hold the wheel it opens for you alone, whoever owns the space. Use Shell and Hide shell in the header to show or hide it. The compose box still works: your messages are the next thing the agent reads.
- Need more time? Open Hand back… and click Extend 30m under Need longer?.
Resume the agent’s Claude session
When the run has a Claude session, the takeover terminal can pick up the agent’s own conversation, history included, so you continue exactly where it stopped.
- In the Takeover shell drawer, click Resume Claude session. The button appears only when the run has a session to resume. It types
marshal-agent resume-claudeinto the terminal and presses Enter. - Claude may ask whether to use the agent’s MCP servers. Choose the option that uses them to give your session the same tools as the agent. Then read the history and keep going with your own prompts.
- Hand back as usual. The agent continues the same session and sees what you did, unless you rewound past its own messages (see below).
Your session runs inside the same envelope as the agent: the same network rules, and no extra credentials added to the space. Taking over never widens what the run can reach. Your session uses the agent’s own sign-in. If Claude asks you to sign in, stop: a login with a personal account would leave that account’s credentials in the agent’s home. Hand the run back and ask an admin to check the agent’s credentials.
Interrupting Claude’s reply with Esc is fine, and your turns reach the agent. If you use Rewind to go back to before the agent’s own messages, your turns from that point branch off the agent’s work. At handback the agent’s conversation is rolled back to where it stopped, and the agent continues from there. Your turns still appear in the run, followed by a status line such as 3 takeover entries branched off before the agent's last work (for example after a Rewind) and were not kept in the agent's session; the agent continues from where it stopped. Files you changed in the workspace and Claude settings stay as you left them.
Hand it back
- Click Hand back… in the header.
- Under What should the deputy do now?, pick one. A choice is required.
- Proceed: carry on from here
- Revise: rethink the approach first
- Abort: stop this run
- Optional: in the notes box, tell the agent what you did and anything it should know before it continues.
- Click Hand back and close the window.
With Proceed or Revise, the agent takes over again and gets a note that you held the wheel, with your notes. With Abort, the run ends as canceled. If the window runs out before you hand back, it closes anyway and records a handback with no decision.
From the CLI
Send a message to any live run:
marshal deputies message <run-id> "use the staging database, not prod"It prints message queued for the agent's next turn. The agent reads it when it finishes the turn it is on, so the work in progress is kept.
To have the agent read it now, add --interrupt. The current turn stops and your message comes next:
marshal deputies message <run-id> --interrupt "stop, that is the prod database"To resume the session as soon as you enter, add --resume:
marshal deputies engage <engagement-id> --resumeThe CLI opens the takeover terminal and types marshal-agent resume-claude for you once the terminal is ready. If the run has no session to resume, you get a plain terminal and a note saying so.
What you should see
- After a message: the chip under the compose box, and the agent’s reply in Activity once it reads your message.
- After Take over now: the header shows You have the wheel and the time left in the window. The status badge reads
engaged. The Takeover shell opens. - After you hand back: the toast Handed back with “The window is closed and the deputy carries on from your decision.” The badge goes back to
running, or tocanceledafter Abort. - In the audit log:
run.messagefor a message,run.interruptfor an interrupt,engagement.take_wheelandengagement.handbackfor a takeover.
Next
When the run ends, continue it with your next instruction.