OpenCode Browse is a new open-source tool that lets coding agents drive your real browser. Your agent gets your tabs, logins and extensions, while you stay in charge of passwords, 2FA and payments.
It works with OpenCode, Claude Code, Codex, Cursor, Zed and other MCP clients. Here is how to set it up and use it safely.
- What: an MCP server plus a Chromium extension that gives agents Playwright control of background tabs in your own browser.
- Browsers: Chrome, Edge, Brave, Arc, Helium, Vivaldi, Opera and Chromium. No Firefox.
- Install: add the “browse” extension from the Chrome Web Store and follow its guided setup.
- Handoff: on logins, 2FA and payment pages the agent hands the tab back to you. It continues after you click Continue.
- Safety: use a separate browser profile and a site allowlist.
What OpenCode Browse Is
Most browser tools for agents launch a fresh, empty, headless browser. That browser is not logged in anywhere, so the agent hits sign-in walls fast.
OpenCode Browse takes a different route. It plugs your agent into the browser you already use, with your cookies, sessions and extensions. OpenCode announced it in the first week of November 2026.
- Made by: the OpenCode team (the Chrome Web Store lists the publisher as Anomaly).
- Source: open on GitHub at anomalyco/browse, under the MIT license.
- Price: free. You only pay for whatever model your agent uses.
- Extension: called “browse”, version 0.0.15 as of November 8, 2026, with about 4,000 users.
How It Works Under the Hood
Browse has three parts. Your agent never talks to Chrome directly.
- MCP server: runs over stdio inside your agent and exposes the Browse tools.
- Local relay: listens only on localhost, on
127.0.0.1:19988, and holds sessions, recordings and network captures. - Extension: connects to the relay over WebSocket and drives tabs with the Chrome debugger API.
The main tool is execute. Instead of dozens of tiny click and type tools, the agent writes real Playwright code and runs it against its tab.
Agent tabs open in the background of your last-used window, inside a collapsed tab group called “Agents”. They cannot steal focus, and idle agent tabs close after 10 minutes unless a script is still running.
Supported Browsers and Agents
| Type | Supported | Not supported |
|---|---|---|
| Browsers | Chrome, Edge, Brave, Arc, Helium, Vivaldi, Opera, Chromium | Firefox, Safari |
| Agents | OpenCode, Claude Code, Codex, Cursor, Zed and other MCP clients | Tools without MCP support |
| Systems | macOS, Linux and Windows (PowerShell installer) | Mobile browsers |
| Connections | One browser profile at a time | Several profiles at once |
How to Install OpenCode Browse
The official page says the extension walks you through everything. The CLI install is optional for most people.
- Pick a browser profile. Create a separate Chrome (or Edge, Brave) profile for agent work. Sign in only to the sites the agent needs.
- Add the extension. Install “browse” from the Chrome Web Store in that profile.
- Follow the guided setup. The extension’s status page walks you through installing the CLI and pairing.
- Pair the extension. Enter the pairing code shown by the CLI. Codes look like
XXXX-XXXX, work once and expire after 10 minutes. - Restart your agent. Restart OpenCode (or your other client) so it loads the new MCP server.
- Test it. Ask the agent to open a simple page and take a screenshot.
Optional: install the CLI yourself
# macOS / Linux
curl -fsSL https://opencode.ai/browse/install | bash
# Windows PowerShell
irm https://opencode.ai/browse/install.ps1 | iex
# npm or Bun
npm install -g @opencode/browse && browse install
bun add -g @opencode/browse && browse install
Optional: build from source
Developers can clone the GitHub repo instead. You need Bun and Node.js 22.19 or newer.
- Clone and set up. Run
bun run setupin the repo folder. It builds the extension and CLI, adds the browse MCP server to OpenCode and creates a pairing code. - Load the extension. Turn on Developer mode, click Load unpacked and pick the
browse/distfolder. - Restart OpenCode. The setup script waits for the extension to connect.
Tip: new to OpenCode itself? My OpenCode vs Claude Code comparison explains what it is and how it differs.
Connect It to OpenCode, Claude Code and Others
The guided setup adds Browse to OpenCode for you. Other agents need a stdio MCP server entry that runs the Browse CLI with the mcp argument.
OpenCode config
If you need to add it by hand, OpenCode’s current config format puts servers under mcp.servers:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"servers": {
"browse": {
"type": "local",
"command": ["node", "/path/to/browse/cli/dist/cli.mjs", "mcp"]
}
}
}
}
Claude Code
Claude Code adds stdio servers with claude mcp add. Point it at the same CLI path:
claude mcp add browse -- node /path/to/browse/cli/dist/cli.mjs mcp
My Claude Code MCP setup guide covers scopes and how to check that the server loaded. Codex, Cursor and Zed use the same idea in their own MCP config files.
Note: replace /path/to/browse with your real folder. Run node cli/dist/cli.mjs extension in a source build to print the right paths.
How to Use It Day to Day
Once connected, you just ask your agent in plain English. It decides when to open a tab and what Playwright code to run.
Good first tasks
- Test your app: “Open localhost:3000, sign up with a test user and screenshot every step.”
- Debug network calls: “Record a HAR file while loading the dashboard and find the failing request.”
- Read logged-in pages: “Open my GitHub notifications and summarise the open review requests.”
- Reproduce a bug: “Follow these steps and record a video when the layout breaks.”
Lend a tab
Already have the right page open? Click the Browse toolbar button to lend that tab to the agent. The agent can then adopt it with its session_adopt tool.
The human handoff
When the agent reaches a login, a 2FA prompt or a payment page, it stops. It hands the tab back with a card showing the site’s origin.
You finish the sensitive step yourself, then click Continue. Only a real click from you completes the handoff, so the agent cannot approve itself.
Recordings, screenshots and HAR files
- Screenshots: any time, from inside
execute. - Recordings: start and stop MP4 or WebM recordings.
- Flight recorder: keeps the last minute of video and saves it when something breaks.
- Network capture: produces a redacted HAR file.
Settings and Environment Variables
You can change settings by asking the agent (it has a settings tool) or with environment variables. Set them where your agent starts, then restart the relay.
| Variable | What it does |
|---|---|
OPENCODE_BROWSER_AGENT_WINDOW=separate |
Opens agent tabs in their own window |
OPENCODE_BROWSER_GHOST_CURSOR=1 |
Shows the agent’s cursor on its tabs |
OPENCODE_BROWSER_HUMAN_INPUT=0 |
Turns off human-like mouse paths and typing pace |
OPENCODE_BROWSER_ALLOW_FOREGROUND=1 |
Lets the agent bring tabs to the front |
OPENCODE_BROWSER_ALLOW_ALL_COOKIES=1 |
Lets it read and write every cookie in the profile |
OPENCODE_BROWSER_ALLOW_NODE=1 |
Gives execute full Node.js access |
OPENCODE_BROWSER_UPDATE_CHECK=0 |
Turns off update checks |
Warning: the cookie and Node options remove important guard rails. Leave them off unless you fully understand the risk and use a throwaway profile.
Security: What to Know First
Handing an AI your logged-in browser is powerful and risky. Browse has solid protections, but its own docs say the relay is not a hard security boundary.
- Pairing: each browser gets a unique key, and both sides prove themselves on every connection.
- Localhost only: the relay listens on your machine and accepts only the published extension IDs by default.
- Own tabs only: agents use tabs they opened or tabs you lent them.
- Allowlists: limit a session to named sites. They also check the real IP to block DNS rebinding tricks.
- Secrets: saved secrets are typed only on matching sites and stay out of logs and HAR files.
The biggest open risk is prompt injection. A page on an allowed site can still contain hidden text that tries to steer the agent.
- Use a separate profile: never your main one with banking, work SSO and personal email.
- Keep allowlists small: only the domains a task needs.
- Treat captures as sensitive: screenshots, recordings and HAR files can hold URLs and auth headers.
- Prefer a plain fetch tool for simple read-only jobs.
OpenCode Browse vs Claude in Chrome and Others
| Tool | Works with | Uses your logins | Source |
|---|---|---|---|
| OpenCode Browse | Any MCP client and model | Yes | Open (MIT) |
| Claude in Chrome | Claude plans and Claude Code | Yes | Closed |
| Codex for Chrome | OpenAI stack | Yes | Closed |
| Gemini in Chrome auto browse | Google AI plans | Yes | Closed |
| Headless Playwright setups | Any agent | No, fresh browser | Mostly open |
Claude in Chrome is more polished, with site permissions and confirmation prompts. Browse wins on choice, because it works with any model and any MCP agent. For Google’s take, see my Gemini in Chrome auto browse guide.
My Take
Browse fixes the most annoying part of browser agents: logging in. Reusing your real session, with a clear handoff for passwords and payments, is the right design.
It is still very new, at version 0.0.15. I would use it in a dedicated profile for testing your own web apps first. Leave banking and email out of it.
Troubleshooting: Common Problems and Fixes
- Agent does not see the tools: restart OpenCode or your client after setup. MCP servers load at start.
- “Another browser is connected”: only one profile can connect at a time. Close the other one and click Reconnect.
- “Not paired” or “relay refused”: pair again with a fresh code, then reload the extension.
- Load unpacked fails: pick the
browse/distfolder, notbrowseorbrowse/public. - Check status in a source build: run
node cli/dist/cli.mjs statusornode cli/dist/cli.mjs doctor. Relay logs live in~/.local/share/opencode-browser/logs/relay.log. - Stuck on a captcha: Browse does not solve captchas. It waits up to 15 seconds for self-clearing checks, then hands the tab to you.
- Changed a setting but nothing happened: restart the relay with
node cli/dist/cli.mjs relay restart.
Frequently Asked Questions
Is OpenCode Browse free?
Yes. The extension and code are free and MIT licensed. You only pay for the AI model your agent uses.
Does OpenCode Browse only work with OpenCode?
No. It works with any MCP client, including Claude Code, Codex, Cursor and Zed.
Does it work in Firefox or Safari?
No. It supports Chromium browsers only: Chrome, Edge, Brave, Arc, Helium, Vivaldi, Opera and Chromium.
Can the agent enter my passwords or pay for things?
Browse is built to hand the tab back to you for logins, 2FA and payments. You finish the step and click Continue.
Will the agent take over my screen?
No. Agent tabs open in a collapsed background group and cannot steal focus unless you enable the foreground option.
Does my data go to an OpenCode server?
The Web Store listing says the extension has no server of its own and data stays between your browser and your computer. Your AI model provider still sees what the agent sends it.
Is it safe to use with my main browser profile?
It is safer not to. Use a separate profile and a small site allowlist, because prompt injection is still possible.




