Skip to content
, ,

OpenCode Browse Guide (2026): Let Coding Agents Use Your Real Browser Safely

8–12 minutes
Surprised woman in a teal jacket in a neon tech room holding an OPENCODE card, hook your real browser for AI agents

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.

TLDR

  • 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.
Quick answer: OpenCode Browse lets any MCP-capable coding agent use your signed-in browser in background tabs, and hands control back to you for anything sensitive.

How It Works Under the Hood

Browse has three parts. Your agent never talks to Chrome directly.

  1. MCP server: runs over stdio inside your agent and exposes the Browse tools.
  2. Local relay: listens only on localhost, on 127.0.0.1:19988, and holds sessions, recordings and network captures.
  3. 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.

  1. Pick a browser profile. Create a separate Chrome (or Edge, Brave) profile for agent work. Sign in only to the sites the agent needs.
  2. Add the extension. Install “browse” from the Chrome Web Store in that profile.
  3. Follow the guided setup. The extension’s status page walks you through installing the CLI and pairing.
  4. Pair the extension. Enter the pairing code shown by the CLI. Codes look like XXXX-XXXX, work once and expire after 10 minutes.
  5. Restart your agent. Restart OpenCode (or your other client) so it loads the new MCP server.
  6. 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.

  1. Clone and set up. Run bun run setup in the repo folder. It builds the extension and CLI, adds the browse MCP server to OpenCode and creates a pairing code.
  2. Load the extension. Turn on Developer mode, click Load unpacked and pick the browse/dist folder.
  3. 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/dist folder, not browse or browse/public.
  • Check status in a source build: run node cli/dist/cli.mjs status or node 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.

Sources

Free weekly email

Get new AI guides every week

One short weekly email with our newest local AI, ComfyUI and AI tool guides. No spam, no pop-ups, just the good stuff.

Free. Unsubscribe anytime in one click. We only use your email to send this newsletter. See our privacy policy.

Surprised woman in a teal jacket in a neon tech room holding an OPENCODE card, hook your real browser for AI agents