> ## Documentation Index
> Fetch the complete documentation index at: https://docs.synti.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Browser Automation

> Let the Synti agent drive a real browser to navigate, fill forms, extract data, and inspect network traffic.

Synti can operate a full browser on your behalf. Instead of relying on an integration or API, the agent opens real web pages, clicks and types like a person would, and reads back whatever it sees. This makes it the right tool for anything that only exists behind a UI — internal dashboards, admin panels, legacy portals, or one-off tasks where wiring up an API would be overkill.

Because the browser runs inside Synti on your machine, it inherits the sessions you are already signed in to. The agent rarely needs to log in again, and your credentials never leave your device.

## What the agent can do

<CardGroup cols={2}>
  <Card title="Navigate" icon="compass">
    Open any URL, follow links, move back and forward through history, and wait for pages to settle.
  </Card>

  <Card title="Interact" icon="hand-pointer">
    Click buttons and links, type into fields, choose dropdown options, submit forms, and send keyboard shortcuts like Enter or Cmd+K.
  </Card>

  <Card title="Extract" icon="table">
    Run JavaScript against the live DOM to pull structured data and return it as tables, lists, or files.
  </Card>

  <Card title="Inspect" icon="magnifying-glass">
    Watch network requests to see which API calls a page makes, and capture full-page or element-level screenshots for verification.
  </Card>
</CardGroup>

To decide what to click, the agent works from an accessibility snapshot of the page — a structured map of every interactive element with a stable reference ID. This lets it target the right control reliably rather than guessing at pixel coordinates.

## When to use the browser

The browser shines for work that has no clean programmatic path:

* **UI-only workflows** where the underlying system exposes no API.
* **Form automation** across multi-field or multi-step forms.
* **Web scraping** and ad-hoc data collection from pages you can already reach.
* **Rapid prototyping** when the "real" integration isn't built yet or is blocked.

For anything you plan to run repeatedly or share with a team, prefer a stable path. A [REST API or MCP source](/sources/overview) is faster, more reliable, and doesn't break when a page is redesigned. When the agent notices it is clicking through the same UI over and over, it can also switch to calling the page's own backend directly — see [API discovery](/browser/api-discovery).

## Permissions

Browser navigation, reading, and data extraction work in every permission mode, including Explore, so you don't need to grant elevated access just to browse or scrape. Actions that change state on a page follow the same permission model as the rest of the agent — review [Permissions](/core-concepts/permissions) for how modes and approvals work.

## Windows and sessions

Browser windows are managed for you and behave predictably across a working session:

* **Persistence.** A window stays open across steps within a session, so the agent can return to a page it already loaded instead of starting over.
* **Workspace scoping.** Browser tabs belong to the workspace they were opened in. Switching workspaces shows only that workspace's tabs.
* **Lifecycle.** A window can be closed (destroyed), released (the overlay is dismissed but the window is kept), or hidden (state preserved in memory). Clicking the OS close button hides the window rather than destroying it, so the agent can reopen it instantly.

## Remote and headless use

When you drive Synti remotely — for example, reaching your desktop from another device — the agent uses the browser already running on your local machine rather than spawning a headless one elsewhere. Your existing logins and cookies are available immediately, with no re-authentication.

<Note>
  The browser tool requires the Synti desktop app. It is not available from the web UI or a CLI-only client, because there is no local browser for the agent to drive.
</Note>

### Restricting remote JavaScript

Running JavaScript on a page is powerful, so Synti lets you lock it down when the request originates from a remote client. The `allowRemoteEvaluate` setting controls this:

| Setting               | Default | Effect when disabled                                                                                                                      |
| --------------------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| `allowRemoteEvaluate` | `true`  | Remote `evaluate` calls are blocked with `BROWSER_REMOTE_EVALUATE_BLOCKED`. Navigation, clicks, form fills, and screenshots keep working. |

Change it under **Settings → AI → Advanced**, or edit `~/.synti/config.json` directly:

```json ~/.synti/config.json theme={null}
{
  "browser": {
    "allowRemoteEvaluate": false
  }
}
```

<Warning>
  File uploads are always blocked over the remote bridge, regardless of `allowRemoteEvaluate`. Upload files from the desktop app directly.
</Warning>

## Next steps

<CardGroup cols={2}>
  <Card title="API discovery" icon="bolt" href="/browser/api-discovery">
    Turn repetitive clicking into direct, parallel API calls for dramatic speedups.
  </Card>

  <Card title="Examples" icon="list-check" href="/browser/examples">
    Ready-to-adapt prompts for logins, forms, extraction, and multi-step flows.
  </Card>
</CardGroup>
