Skip to content
BrowserZap

Docs · beta 0.3

Getting started

About ten minutes. You need Chrome, Node.js 20 or newer, and an MCP client such as Claude Code or the Codex CLI. Early-access builds come with these steps; ask for one.

1. Install and build

npm ci
npm run build                     # produces the extension/ folder
npm run bridge -- --print-token   # your pairing token (shown once, never logged)

2. Load the extension

  1. Open chrome://extensions and turn on Developer mode.
  2. Click Load unpacked and choose the extension folder.
  3. Click the BrowserZap toolbar icon to open the side panel.
  4. Under Settings → Pairing token, paste the token from step 1.

3. Connect your agent

npm run config prints the exact snippet for your paths and clients; it never edits your configuration itself. For Claude Code:

claude mcp add browserzap --scope user -- node "<folder>\bridge-server\index.js"

The MCP server starts the bridge when needed and authenticates on its own, so your client configuration never contains the token.

4. Check it

npm run health          # every line should say PASS
npm run check:chrome    # a guided check in your own Chrome

Several Chrome profiles

Using a work and a personal profile? Load the extension in each profile, paste the same token, and name each one under Settings → Profile name. When more than one profile is connected, your agent chooses with browser_select_profile; until it does, BrowserZap refuses with PROFILE_REQUIRED rather than guess. To pin an agent to one profile, set BROWSERZAP_PROFILE in its MCP configuration.

Workflows

When something is slow or fails

Every slow or failed step carries likelyCause:

likelyCauseMeaningWhat to do
server_slowThe site's server has not answered (the request is named)Allow more time (timeoutMs, up to 120000)
downloadingThe page is still loadingAllow more time
still_renderingThe page shows a spinner or "Loading…"Allow more time
page_busyThe page did not respond (heavy script)Retry; check the tab
server_errorThe site answered with an HTTP errorRetry later if retryable
not_on_pageNothing is loading and the element is not thereInspect the page; the site may have changed

Your session log is one command away: npm run logs. It never contains what you typed.