v1.22.52see what's new →

Browser

A local browser an agent can drive. Real Chrome (or Brave, Comet, Arc) with your real cookies, addressed by element refs instead of selectors.

Why it exists

Most "agent runs the browser" tools spin up a fresh Playwright instance. Two things go wrong: you have to sign in from scratch every run, and the major sites detect the automation and block you within seconds. agents browser uses a real Chromium binary pointed at a persistent profile directory, so the agent inherits your real logged-in state and looks like any other tab.

The model

Quickstart

agents browser profiles create work --browser chrome
agents browser start --profile work --url https://linear.app
agents browser refs           # numbered list of clickable elements
agents browser click 14
agents browser screenshot
agents browser done

Worked example: sign in and read an account

Point the agent at a login page, let it fill the form from a keychain bundle, and read the account — all without the password ever entering its context. Asked to “check my Reddit and summarize what's new,” an agent did exactly this:

export AGENTS_BROWSER_TASK=$(agents browser start --profile comet-local --url https://www.reddit.com)

agents browser navigate --url https://www.reddit.com/login/
agents browser refs                        # find the username / password refs
agents browser type 8 --secret reddit.com/UNAME --clear
agents browser type 9 --secret reddit.com/PWORD --clear
agents browser click 7                     # sign in — the password never enters the agent's context

agents browser navigate --url https://www.reddit.com/notifications/
agents browser refs                        # read notifications, then profile, then chat
agents browser done

The profile carries your real cookies, so the site sees a normal logged-in tab — no fresh-login wall, no automation block. See Secrets for how --secret bundle/KEY hands the agent a credential it can use but never read.

…and the same flow, headless on another machine

Nothing here is tied to your laptop. Stand the identical profile up on a remote Linux box and drive it headless over SSH — the whole browser stack travels:

agents ssh yosemite-m0 'agents browser profiles create m0-headless \
  --browser custom --binary ~/.cache/ms-playwright/chromium-1169/chrome-linux/chrome \
  --headless --secrets reddit.com'
agents ssh yosemite-m0 'agents browser start --profile m0-headless --url https://example.com'

On locked-down Linux — where AppArmor blocks the unprivileged user namespaces Chromium's sandbox needs — wrap the binary in a one-line script that adds --no-sandbox and point the profile at that wrapper.

Surface

Related