Browser Use
Built-in Browser
A headless Chromium instance inside each agent's container: the default browser host, with no setup required.
How it works
When an agent calls browser_open, Gamut launches a Chromium process inside the agent's container and connects to it via the Chrome DevTools Protocol (CDP). There is no visible window; the browser panel in the Gamut UI streams the activity live.
The built-in browser:
- Runs isolated: each agent gets its own browser instance and profile directory.
- Preserves cookies and sessions: the persistent profile keeps the agent's login state across sessions.
- Supports multiple tabs: agents can open, switch between, and close tabs. The maximum number of concurrent tabs is configurable in Settings (default: 10).
Browser tools
Agents drive the browser through MCP tools exposed by the browser MCP server, available automatically whenever browser access is enabled.
Navigation and lifecycle
| Tool | Description |
|---|---|
browser_open | Open the browser and navigate to a URL. If a tab with the same URL already exists, switches to it instead of opening a duplicate. |
browser_close | Close the browser and free all resources. Call this when browsing is complete. |
Page inspection
| Tool | Description |
|---|---|
browser_snapshot | Get an accessibility tree snapshot of the current page. Returns interactive elements with refs (like @e1, @e2) that can be used with other tools. Supports interactive, compact, and json modes, plus optional scope, fullText, and includeUrls parameters to control what the snapshot includes. |
browser_screenshot | Take a screenshot of the current viewport or the full scrollable page. Optionally annotate the screenshot with numbered labels on interactive elements that correspond to snapshot refs. |
browser_get_state | Get the current URL, a screenshot, and an accessibility snapshot in a single call. Useful for quickly understanding what the browser is showing. |
Interaction
| Tool | Description |
|---|---|
browser_click | Click an element by its ref (e.g., @e1). Refs come from browser_snapshot. |
browser_fill | Clear an input field and type a new value into it, identified by ref. |
browser_type | Type text into the currently focused element using real keystrokes. |
browser_select | Select an option from a <select> dropdown by ref and value. |
browser_hover | Hover over an element to trigger menus, tooltips, or hover states. |
browser_press | Press a keyboard key such as Enter, Tab, Escape, or a key combo like Control+a. |
browser_scroll | Scroll the page in a given direction (up, down, left, right) by an optional pixel amount. |
browser_upload | Upload a local file to a <input type="file"> element using a CSS selector. |
browser_wait | Wait for a CSS selector to appear on the page before continuing. |
Advanced operations
| Tool | Description |
|---|---|
browser_eval | Execute JavaScript in the page context, with guardrails. Useful for extracting data the accessibility snapshot does not surface, or for triggering client-side behavior. |
browser_run | Run any agent-browser CLI command for advanced operations not covered by the dedicated tools. |
The browser_run tool is a catch-all that exposes the full agent-browser command set, including:
- Navigation:
back,forward,reload - Tab management:
tab,tab new,tab <n>,tab close - JavaScript execution:
eval <js>to run arbitrary JavaScript in the page context - Element queries:
get text/html/value/attr/title/url/count/box <ref> - State checks:
is visible/enabled/checked <ref> - Cookie and storage management:
cookies,cookies set/clear,storage local/session - Frame switching:
frame <selector>,frame main - Dialog handling:
dialog accept,dialog dismiss - Browser settings:
set viewport/device/geo/offline/headers/media - Network interception:
network route/unroute/requests - Drag and drop:
drag <srcRef> <tgtRef> - Double-click, focus, type:
dblclick,focus,type
Screenshots and snapshots
Agents have two complementary ways to read a page:
- Screenshots return a visual image the model sees directly. Annotated screenshots overlay numbered labels on interactive elements; each label
[N]corresponds to ref@eNfrom the accessibility snapshot. - Accessibility snapshots return a structured text view of the page's interactive elements. Each element gets a ref like
@e1that the agent uses withbrowser_click,browser_fill, and the other interaction tools.
Snapshots are more compact and suit form-heavy pages. In practice, agents use browser_snapshot for most interactions and fall back to browser_screenshot to understand visual layout or debug rendering issues.
Human-in-the-loop
When the agent hits a login page, CAPTCHA, or 2FA prompt, it calls the request_browser_input tool and pauses. After you complete the step in the browser and click Done, the agent takes a fresh snapshot and continues from the new page state. See the browser panel workflow for the full experience.
Limitations
- The browser runs inside the container, with no access to your local filesystem, extensions, or saved passwords. For authenticated access, consider Chrome Integration.
- Some websites employ bot detection that may block headless browsers. For sites with aggressive anti-bot measures, Browserbase offers stealth mode and residential proxies.
localhostURLs on the host machine are unreachable, since the browser runs in an isolated container.