Agent-readable docs index: /docs/llms.txt. Full docs in one file: /docs/llms-full.txt. Download /docs/docs.zip to grep all markdown files locally.

Auth profiles

Preserve signed-in browser state across agent sessions.
Auth profiles are named browser state for Browser Tools sessions. Pass a profile name to browser_open, sign in once, close cleanly, and later sessions with the same name start already logged in.
# First run — agent opens a profiled session; human or agent completes login browser_open({ url: "https://portal.example.com", authProfile: "work" }) # → { ok: true, sessionId: "ses-1" } browser_close({ sessionId: "ses-1" }) # → profile "work" saved # Later run — same profile, already signed in browser_open({ url: "https://portal.example.com", authProfile: "work" }) # → { ok: true, sessionId: "ses-2" }

Defaults

On providers that support profiles:
authProfileBehavior
omittedUses default
"work" (any non-empty name)Loads or creates that named profile
falseOpens without saved state (incognito)
browser_status includes authProfile on sessions that have one.

Sign in once

  1. Open a headed session with a profile name (LocalBrowserProvider defaults to headed).
  2. Complete login in the browser window, or with browser_exec.
  3. Call browser_close or toolkit dispose() so the provider saves profile changes.
  4. Open again later with the same name — the session starts from that saved state.
Profile changes persist only after a clean close. A crash does not write half-updated state.

Provider support

ProviderNamed auth profiles
LocalSupported
Libretto CloudSupported
KernelSupported
Browser UseSupported
BrowserbaseUnsupported
SteelUnsupported
Browserbase and Steel expose provider IDs, but not durable names. On unsupported providers, omit authProfile or pass false. Passing a profile name returns { ok: false, error } with a next step.

Local storage

Local profiles live under ~/.libretto/browser-tools/profiles/<name>/ by default. Pass authProfileDirectory to LocalBrowserProvider to change the root:
new LocalBrowserProvider({ authProfileDirectory: "/path/to/profiles", });
Cloud providers that support profiles keep provider-native state behind the same authProfile string.

Caveats

  • Profiles hold signed-in browser state. Local profiles are full Chromium user data directories and can include cookies, local storage, IndexedDB, saved credentials, extensions, and settings.
  • Do not commit profile directories or share them across untrusted users.
  • Do not open concurrent writable sessions against the same profile.
  • This is the Browser Tools harness surface (browser_open / MCP). For Libretto workflow authProfile, see Website authentication.