agent-browser — Windows dev workstation setup

What it is

agent-browser (vercel-labs) is a Rust CLI for browser automation via Chrome DevTools Protocol — no Playwright/Puppeteer dependency. It ships its own internal “skills” system (agent-browser skills get <name>), unrelated to Claude Code’s Skill tool — it cannot be invoked via Skill(...), only via the CLI directly (Bash/PowerShell tool).

Trigger

  • User wants faster/lighter browser automation than Playwright on this workstation.
  • agent-browser install fails with an SSL error fetching Chrome.

Symptom

agent-browser install
✗ Failed to fetch version info: error sending request for url
  (https://googlechromelabs.github.io/chrome-for-testing/last-known-good-versions-with-downloads.json):
  client error (Connect): invalid peer certificate: UnknownIssuer

Same root cause as the existing Cloudflare API SSL issue on this machine (see feedback_cloudflare_ssl_windows memory) — this workstation’s network path does TLS interception on outbound HTTPS to at least some Google-hosted / third-party API endpoints, which native Rust/Python HTTPS clients reject (UnknownIssuer) unless they’re pointed at a browser/curl-style trust store. agent-browser install’s bundled Chrome downloader hits this; it does not affect the CDP automation itself once a browser binary exists.

Fix — use the existing Chrome instead of downloading one

  1. Confirm install:
    npm i -g agent-browser
    agent-browser --version
  2. Find an existing Chrome/Edge install (skip agent-browser install’s own downloader entirely):
    Test-Path "${env:ProgramFiles(x86)}\Google\Chrome\Application\chrome.exe"
    On this machine it’s at C:\Program Files (x86)\Google\Chrome\Application\chrome.exe.
  3. Point agent-browser at it persistently (User env var, survives new shells):
    [Environment]::SetEnvironmentVariable(
      "AGENT_BROWSER_EXECUTABLE_PATH",
      "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe",
      "User"
    )
    $env:AGENT_BROWSER_EXECUTABLE_PATH = "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"
  4. Verify:
    agent-browser open example.com
    # ✓ Example Domain

No need to run agent-browser install at all once AGENT_BROWSER_EXECUTABLE_PATH (or --executable-path) is set — it skips the download step.

Escalation

If no local Chrome/Edge install exists on a given machine, either:

  • Install Chrome normally (its own installer isn’t affected by this issue), then apply the fix above, or
  • Investigate the TLS interception itself (see Cloudflare SSL issue — same class, not yet root-caused).

Prevention

New dev workstations: after npm i -g agent-browser, set AGENT_BROWSER_EXECUTABLE_PATH up front rather than attempting agent-browser install first — saves the failed-download round trip.