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.

ToolDescription
browser_openOpen 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_closeClose the browser and free all resources. Call this when browsing is complete.

Page inspection

ToolDescription
browser_snapshotGet 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_screenshotTake 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_stateGet the current URL, a screenshot, and an accessibility snapshot in a single call. Useful for quickly understanding what the browser is showing.

Interaction

ToolDescription
browser_clickClick an element by its ref (e.g., @e1). Refs come from browser_snapshot.
browser_fillClear an input field and type a new value into it, identified by ref.
browser_typeType text into the currently focused element using real keystrokes.
browser_selectSelect an option from a <select> dropdown by ref and value.
browser_hoverHover over an element to trigger menus, tooltips, or hover states.
browser_pressPress a keyboard key such as Enter, Tab, Escape, or a key combo like Control+a.
browser_scrollScroll the page in a given direction (up, down, left, right) by an optional pixel amount.
browser_uploadUpload a local file to a <input type="file"> element using a CSS selector.
browser_waitWait for a CSS selector to appear on the page before continuing.

Advanced operations

ToolDescription
browser_evalExecute JavaScript in the page context, with guardrails. Useful for extracting data the accessibility snapshot does not surface, or for triggering client-side behavior.
browser_runRun 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 @eN from the accessibility snapshot.
  • Accessibility snapshots return a structured text view of the page's interactive elements. Each element gets a ref like @e1 that the agent uses with browser_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.
  • localhost URLs on the host machine are unreachable, since the browser runs in an isolated container.