What it is
The browser gives a harness's agent a real browser in the cloud, driven through typed tools: it opens pages, reads them, clicks, types and takes screenshots. You watch it live in the task, and you can take over at any moment and hand it back.
Turning it on
This replaces the harness's whole plug list, so send every plug it should keep. To give the agent only some of the browser tools, add {"tools": {"browser": ["navigate", "click"]}}, naming the tools without a prefix.
- Connect it once per workspace on the console's Plugins page. It needs no account or key.
- Under Sites, list the only sites it may open, the sites it must never open, or both. A rule covers the domain and its subdomains, and with no list any public site is allowed.
- Then include it on each harness that should browse, in the harness's settings under Plugins. No harness has it until you include it.
POST /v1/harnesses/{id}/servers/plugs
{"plugs": ["browser"]}What the agent can do
The agent opens a page, reads its address, its text or a snapshot of its elements, clicks, types, presses keys, scrolls, waits for something to appear, goes back, switches tabs and takes screenshots. Screenshots are saved with the task's files.
- It cannot run scripts of its own, download files, read cookies or reach the browser directly.
- Private, loopback and link-local addresses are blocked, and so is any name that resolves to one, for every page and every resource a page loads.
- Harnesses whose agents call tools can use it. System One acts through a fixed set of choices, so browser tools are not offered there.
Watching and taking over
While the agent browses, the task shows the browser live, with a cursor where the agent last acted. Take over, or click the screen, to get the mouse and keyboard: the agent waits, and picks up where it was when you hand the browser back. There is no recording; the screenshots the agent took stay with the task.
GET /v1/sessions/{id}/browser open, live_url, control, viewport and how many calls the agent has made
POST /v1/sessions/{id}/browser/control {"control": "user"} to take over, {"control": "agent"} to hand backAnyone who has live_url can see the browser while it is open, so keep it on your server and show it only to the person whose task it is.
What it costs
Browser time is billed at the provider's price, $0.02 per browser hour, with no markup.
Lifetime and limits
- One per task
- Opened on the agent's first browser call.
- Closed
- At the end of each turn, after two idle minutes, or at 20 minutes. A follow-up turn opens a fresh browser.
- One call
- Up to 60 seconds.
- Text read
- Up to 20,000 characters per call.
- Snapshot
- 150 elements by default, up to 500.
- At once
- Up to three open browsers per organization.
Ready to run this against a live workspace? Keys take under a minute.

