One browser. Your agent drives, you take the wheel.

Rove gives your agent a real browser and streams it to you live. Take control in one tap, hand it back in one more. Same session, same tabs, nothing lost.
Replay of a real session, shortened. In the replay: the agent works, sends you a link, you take control and approve two invoices, then hand it back. Watch it step by step
Watch it step by step
The session above, one step at a time. It was recorded on an invoice dashboard we built for this demo. The pages, control states and activity are what Rove’s viewer showed; we drew the two cursors, wrote the captions and cut the waiting time.
1 The agent drives
Your agent works in a real browser on Rove’s servers. You can watch every page it opens and every step it takes, live, from your laptop or your phone.
2 It sends you the link
When a step needs a person, the agent sends you a one-time link: in the chat, or wherever your product delivers it. One click opens the live session. Nothing to install.
3 You take the wheel
Press Take control. Everything you type and click goes straight to the page, and the agent can’t click or type until you hand it back.
4 Back to the agent
Press Return to agent. The agent looks at the page again before its next move, so it carries on from what you did, not from what it remembered.

Three invoices matched; two over the limit wait for approval.
Transcript (waiting time cut)
- 0:01 · Agent · Navigated to a page
- 0:02 · Agent · Clicked a control
- 0:03 · Agent · Clicked a control
- 0:04 · Agent · Clicked a control
- 0:06 · Agent · Sent you a one-time link to the live session
- 0:08 · You · Took control
- 0:10 · You · Approved invoice 1
- 0:11 · You · Approved invoice 2
- 0:11 · Agent · Looked at the page again before its next move
- 0:12 · Agent · Reviewed the page
- 0:12 · Agent · Driving
- 0:13 · Agent · Clicked a control
Route the handoff to your own operators
Building agents for your customers or your team? Rove gives every supervised session a link you can hand to whoever should step in.
- Mint a one-time viewer link for any supervised session over REST, either SDK or MCP. Deliver it however your product already reaches people: your queue, chat or email.
- Mint a fresh link for each person who steps in. A used link can’t be opened again.
- Give each agent its own API key. The viewer shows the session and the key that started it, with a running list of the agent’s actions.
- Your account lists every supervised session with its status and who has control, and you can open or stop any of them.
- One rate for agent and operator minutes, so a handoff never changes the price.
The link opens Rove’s viewer in the operator’s browser.
Give your agent a supervised browser
Use the MCP server from Claude, Cursor or VS Code, or call Rove from Node or Python. Your agent reads each page as an accessibility tree or a screenshot, whichever it handles best, and acts with navigate, click and fill.
MCP
{
"mcpServers": {
"rove": { "command": "npx", "args": ["-y", "@roveapi/mcp"] }
}
}
Then ask your agent: “Start a supervised session, open the vendor dashboard, and send me the viewer link before you approve anything.” With no key set, the agent signs you in with your email from inside the chat.
Node
import { BrowserClient } from '@roveapi/browser'
const rove = new BrowserClient({ apiKey: process.env.ROVE_API_KEY! })
// Your agent drives this session; a person can take control at any time.
const session = await rove.session({ supervised: true })
await session.navigate('https://dashboard.vendor.example/invoices')
// A one-time link for the person supervising.
const { viewerUrl } = await rove.createViewerGrant(session.id)
console.log(`Watch or take control: ${viewerUrl}`)
Python
import os
from roveapi import BrowserClient
rove = BrowserClient(api_key=os.environ["ROVE_API_KEY"])
session = rove.session(supervised=True)
session.navigate("https://dashboard.vendor.example/invoices")
grant = rove.create_viewer_grant(session.id)
print("Watch or take control:", grant["viewer_url"])
rove.close()
Hand over the steps that need you
- Agent driving · filling in a supplier onboarding formYour turn · sign the tax form
- Agent driving · checking out a restock orderYour turn · enter the bank’s 3-D Secure code
- Agent driving · signing in to the vendor portalYour turn · type the code from your authenticator app
- Agent driving · drafting replies in the support inboxYour turn · read them before they send
Passwords and codes go from your keyboard into the page. They never pass through your agent’s chat.
Built so you stay in charge
- One driver at a time. While you’re in control, the agent can’t click or type.
- Viewer links work once, from the site they were made for.
- Every supervised session runs in its own browser worker.
- Sign-ins stay with your browser profile, so you log in once, not every session.
- After you hand back, the agent re-reads the page before it acts.
Pay by the supervised minute
$0.15 per supervised hour
A 10-minute supervised session costs $0.025, plus its browser actions.
One rate whether your agent or you are driving. Billed per minute, 1-minute minimum. Browser actions are charged per action; the credits guide lists each one. Credits never expire.
Credit packs
- $101,000 credits · about 66.6 supervised hours
- $495,000 credits · about 333.3 supervised hours
- $8910,000 credits · about 666.6 supervised hours
Monthly plans
- Builder$29/month · 2,900 credits included · $0.12 per supervised hour
- Scale$99/month · 9,900 credits included · $0.09 per supervised hour