You need Bun and a supported browser. Chrome, Brave, Firefox and Zen can share existing tabs simultaneously. Firefox and Zen extension mode requires Firefox 153 or later; follow Firefox and Zen setup below. Browspark is developed on macOS; the companion runs anywhere Bun does.
Option 1: one command
The setup script downloads the extension to~/browspark-extension, registers the companion with the agents you pick (Claude Code, Codex, OpenCode, Cursor, Antigravity, Muse Code), and prints the final steps. Add --test for a dry run that downloads nothing and writes no config.
Option 2: by hand
1
Get the extension
Download That bundles the Chromium extension into the
browspark-chrome-extension.zip from the latest release and unzip it anywhere. To build it yourself instead:dist/chromium-extension/ folder (plus dist/firefox-extension/ for Firefox and Zen). The companion itself comes from npm, so the clone is only for the extension.2
Load the extension
Open
chrome://extensions in Chrome or brave://extensions in Brave, switch on Developer mode, click Load unpacked and pick the unzipped folder (or dist/chromium-extension/ in the clone). Repeat in each browser profile you want to connect. Pin the Browspark icon so each dashboard is one click away.3
Register the companion with your agent
For Claude Code:Every other client is covered in Connect an agent. The dashboard’s Overview page shows ready-to-copy snippets for each.
4
Pair once
Open each dashboard (click the extension icon). Every profile connects to the same companion on its own; ask the agent to call
browser_status to see the connected browsers, then share the tabs the agent may use.5
Share a tab
In the dashboard’s Tabs page, share the tab the agent should work on, or switch on Share everything to include every current and future tab. Then ask:
Open example.com in my browser, take a snapshot, and tell me what the headline says.The agent opens an ordinary tab in the selected browser, reads the accessible tree, and answers. If several browsers are connected, it uses the displayed
browserId to choose where the new tab opens. Existing tabs are selected by tabId.Firefox and Zen setup
For existing tabs, build the current source withbun install && bun run package, open about:debugging#/runtime/this-firefox, choose Load Temporary Add-on, and select dist/firefox-extension/manifest.json. Register the companion from the same checkout: command bun, argument the absolute path to companion/src/index.ts. Open the dashboard, enable user scripts when prompted and share your tabs. The unsigned extension must be loaded again after restarting Firefox or Zen. See Firefox extension setup and limits.
For a separate persistent profile, no extension is needed. Ask your agent to launch a developer session; for Firefox, the tool call is:
browser: "zen" and a context such as "zen-work". Then use the returned tab ID with the usual browser tools. Developer sessions have separate profiles; use the extension above to share your everyday tabs and logins. Set browserPath for a custom developer executable. See Firefox and Zen coverage and using multiple browsers.
What you will see
In Chromium extension mode:- A “Browspark started debugging this browser” bar on shared tabs while the agent is attached. It is Chromium’s own notice for the debugger API and detaches after 30 seconds of inactivity. How to hide it.
- Tabs the agent opens are ordinary tabs in your window. They are shared automatically and become that agent’s default target.
- The dashboard’s Overview counts operations and errors only when the activity log is on. It is off by default.
