BrowserSkill: How to Give Claude Code Your Real Browser, Already Logged In

BrowserSkill is an open source CLI and extension from Tencent that lets Claude Code, Codex, or Cursor use your real Chrome or Edge browser, with your session already logged in. The agent works with your sessions and cookies, but in a separate window, so you can keep using your browser at the same time.

Version 0.3.1 of the extension and the bsk CLI came out on September 23, 2026, and everything that follows applies to that version. The project is still pre-1.0 and moving fast: commands and flags may change.

What is BrowserSkill?

BrowserSkill is a local bridge between your programming agent and your browser. It has three pieces:

  • The bsk CLI and its daemon. The agent runs bsk commands in the terminal. A local daemon sends them over WebSocket to 127.0.0.1 on the extension.
  • The extension, for Chrome and Microsoft Edge. It opens a dedicated Agent Window and runs the agent’s actions there. Your normal windows are untouched.
  • A skill. It’s a SKILL.md file that teaches your agent harness how to use bsk: start a session, read the page, take action, and always close the session when done.

The agent never talks directly to the browser. Every action goes through CLI → daemon → extension → Agent Window.

The README lists these compatible harnesses: Cursor, Claude Code, Codex, OpenClaw, CodeBuddy, WorkBuddy, Pi, Hermes Agent, and DeepSeek Harness. DeepSeek Harness uses its own plugin instead of the skill. Any other harness that can run shell commands can use the skill by copying skill/SKILL.md into its skills folder as browser-skill/SKILL.md.

Why use your real browser instead of a headless browser?

Because a headless browser starts with no session logged in. Any task that touches a site requiring login (your admin panel, a staging environment behind SSO, a SaaS dashboard, a ticket in your issue tracker) needs test accounts, saved credentials, or a login flow the agent has to go through. BrowserSkill skips that step: the agent works with the sites where you’re already logged in. It’s browser automation for AI agents on a logged-in browser, not on an empty one.

For scraping public pages, running in CI, or anything that needs to work without a desktop, headless is still the right tool. We cover that in how to give your AI agent a browser without loading Chromium and in Lightpanda. BrowserSkill is for the opposite case: automating the browser with AI on tasks that only make sense inside your session.

How do you install BrowserSkill?

The recommended way is to have your own agent install it. Paste this line into Claude Code, Codex, or Cursor:

Set up browser-skill on this machine by following https://raw.githubusercontent.com/Tencent/BrowserSkill/main/AGENT_INSTALL.md

The agent installs the CLI and the skill, then guides you through loading the extension.

To install it manually:

1. Install the bsk CLI. On macOS or Linux:

curl -fsSL https://raw.githubusercontent.com/Tencent/BrowserSkill/main/install.sh | sh
export PATH="${BSK_INSTALL_DIR:-$HOME/.local/bin}:$PATH"

On Windows (PowerShell):

irm https://raw.githubusercontent.com/Tencent/BrowserSkill/main/install.ps1 | iex

Check it with bsk --version. If your agent was already open during installation, it may still have the old PATH: restart it.

2. Install the extension from the Chrome Web Store or from Edge Add-ons. The README warns that the store version may lag behind the CLI version.

3. Install the skill in your harness:

bsk install-skill

Select your harness with the spacebar and press Enter. For a non-interactive install, specify the harness explicitly, for example bsk install-skill --harness cursor --json.

4. Verify. Run bsk doctor, open the extension popup, and confirm it shows as connected.

How do you use BrowserSkill from Claude Code?

Open a new agent session, confirm that browser-skill is available, and give it a task. On harnesses with slash-command-invokable skills:

/browser-skill open example.com and summarize what's on the page.

Behind that line, the skill forces the agent to follow a fixed cycle:

bsk session start                  # prints a 4-letter session id
bsk navigate <url> --session <id>
bsk snapshot --session <id>        # accessibility tree with refs @e1, @e2…
bsk click @e3 --session <id>       # or fill, select, press
bsk session stop <id>              # mandatory, even if there are errors

The agent reads pages first with bsk snapshot and only falls back to get-html or screenshot when the snapshot isn’t enough. This uses fewer tokens, the same argument that Playwright MCP’s README, from Microsoft, uses to recommend CLI + skills over MCP in programming agents.

What can a browser do that a headless one cannot?

Reuse your login. Point the agent to your staging admin, your analytics dashboard, or a PR preview behind SSO: it’s already authenticated.

Borrow a tab you have open. By default, your own tabs are read-only for the agent. To act on one, it has to borrow it explicitly (bsk tab borrow <tab-id> --session <id>), which moves it to the Agent Window. By default, the extension asks you for confirmation first. The tab returns to its place when the agent runs bsk tab return or closes the session.

Hand off what only a person can do. When a task runs into a CAPTCHA, a login, an OTP code, or an action that should be confirmed, the agent can call bsk request-help with an instruction and the element highlighted on screen. Then it waits for you to press Continue or Cancel. The agent receives the result as continued, cancelled, timed_out, or navigated.

What’s new in BrowserSkill 0.3?

The release notes for version 0.3.1 are compared against 0.2.1, so they cover the entire 0.3 series:

  • Canvas support. The agent can now detect canvas elements, capture their visible region, and click on points within them. This matters for charts, editors, and maps, which are invisible to an accessibility tree.
  • Full-page screenshots, from the extension’s quick actions or from the CLI: bsk screenshot --session <id> --full-page --out page.png.
  • Background task tabs. Controlled tabs keep working and can be captured without coming to the foreground.
  • Authenticated remote connections. The agent can run on a server while the extension controls your local browser. The extension opens an outgoing connection, so your machine doesn’t need incoming ports. Pairing uses a one-time link that, by default, expires in five minutes.
  • Local task execution history and persistent website diagnostics.
  • Automation settings in the popup. “Confirm before borrowing tabs” and “Allow human help requests” come enabled by default. This changes the previous behavior: the --unattended flag, tab borrow --no-confirm, and BSK_REQUEST_HELP=off no longer bypass these settings. If you have scripts that relied on them, disable the settings in the extension.
  • Eight new languages in the extension, including Spanish (es-ES) and Brazilian Portuguese.

The release adds nine new contributors.

BrowserSkill or Playwright MCP?

Both can use your browser with an active session. Playwright MCP’s --extension mode connects to an open Chrome or Edge via its own extension. So the choice depends on how each behaves:

  • Interface. BrowserSkill is a CLI with a skill. Playwright MCP is an MCP server with a broad catalog of tools.
  • Where the agent works. BrowserSkill always works in a separate Agent Window, and your tabs require explicit borrowing. Playwright MCP, by default, opens its own persistent profile, saved separately for each workspace and distinct from your daily-use browser. To connect it to your open browser, you use --extension.
  • Handoff to a person. In BrowserSkill it’s a built-in primitive (request-help).
  • Maturity. Playwright MCP comes from the Playwright team and supports Chrome, Edge, Firefox, and WebKit. BrowserSkill is pre-1.0 and, for now, only works with Chromium browsers.

If you already have Playwright MCP connected to your agent, and especially if you test your own applications, you probably don’t need to switch. If you want the agent to work alongside you in your everyday browser, with a clear separation between its tabs and yours, BrowserSkill is designed for that.

Does it work on Windows and Firefox? Is it free?

  • Windows: yes. It works on macOS (Apple Silicon and Intel), Linux (x64 and ARM64), and Windows x64.
  • Firefox: not yet. As of September 23, 2026, the README marks it as planned. Chrome and Edge are supported, and other Chromium browsers should work with the Chrome Web Store version.
  • Price: it’s free and MIT licensed. The cost of the model your agent uses is separate.

Is it safe to give your browser to an AI agent?

It’s as safe as the agent you connect and the pages you send it to. The biggest open risk is prompt injection. BrowserSkill adds real protections, but doesn’t eliminate that risk.

What the project provides:

  • The agent works in its own window.
  • Borrowing your tabs requires confirmation by default.
  • The skill includes explicit limits: don’t read cookies, localStorage, or authentication headers to extract them; don’t run bsk evaluate on bank pages, SSO, or password managers; always close the session.
  • The remote connections guide is straightforward: a paired server can act with all sessions logged in on that browser profile. Its advice is to pair only with trusted servers. Pairing permissions can be listed and revoked (bsk daemon devices, bsk daemon revoke).

What’s missing is a threat model on the project’s front page. A page the agent reads can contain text designed to mislead it, and your active sessions they’re exactly what an attacker would be looking for. In version 0.3, the skill was updated to tell the agent that page content is information, never instructions. It’s a hint for the model, not something the tool enforces.

Practical Rules:

  • Use a separate browser profile for working with agents, logged in only to what the agent needs.
  • Keep both automation settings enabled until you trust a flow.
  • Don’t send the agent to untrusted sites while it has access to important sessions.

Is It Worth Trying?

If your agent keeps getting stuck on login screens over and over, yes. Agent-guided installation is just one line, the separate Agent Window lets you keep using your browser, and the human help primitive solves exactly the steps an agent shouldn’t do alone. Start with a dedicated profile and confirmations enabled. If you’re setting up Claude Code from scratch, our terminal guide covers the basics first.