Retrieved article excerpt
Open article Β· Retrieved 2026-09-16T13:22:49.818935+00:00
# BrowserSkill
[BrowserSkill banner](https://github.com/Tencent/BrowserSkill/blob/main/docs/assets/browserskill-readme-banner.png)
**Let AI agents use your browser without interrupting your work.**
English Β· [δΈζ](https://github.com/Tencent/BrowserSkill/blob/main/README.zh-CN.md)
**BrowserSkill** connects Cursor, Claude Code, Codex, OpenClaw, CodeBuddy,
WorkBuddy, Pi, Hermes Agent, DeepSeek Harness, and other AI agents to your already logged-in
browser.
Need the agent to touch a tab you already have open? It must borrow that tab
explicitly, return it when the task is done, and leave the rest of your browser
alone.
github.-.mp4
[
](https://private-user-images.githubusercontent.com/45072480/611111115-db782c92-b1d4-4aae-a255-039675937a90.mp4?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODk1NjUyNjksIm5iZiI6MTc4OTU2NDk2OSwicGF0aCI6Ii80NTA3MjQ4MC82MTExMTExMTUtZGI3ODJjOTItYjFkNC00YWFlLWEyNTUtMDM5Njc1OTM3YTkwLm1wND9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjA5MTYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwOTE2VDEzMjI0OVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWEwOGVlNjBjZTQzNGIzZGM2Njc4YTdlZjJkZDQ5YjFhODc0NjEzZjJiMjgyM2UxNzFmMjQwZjI2ZTdlYzY1ZjUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JnJlc3BvbnNlLWNvbnRlbnQtdHlwZT12aWRlbyUyRm1wNCJ9.F9KtSn_AVzGMbeKvaKNa0JPpmr5uHit564USKpah_Xo)
## BrowserSkill Advantages
- **Reuse real login state**: Agents can work with sites you are already signed
into, without separate test accounts.
- **Keep working uninterrupted**: browser tasks run in a separate, visible
Agent Window, so you can keep using your own browser.
- **Support any Agent**: any Agent that can call a shell can use BrowserSkill
through the `bsk` CLI, with no lock-in to a specific model, Agent framework, or
harness.
- **Built-in human-in-loop**: when a task hits captcha, login, confirmation
dialogs, or other human-only steps, the Agent can ask you to take over and
then continue afterwards.
Capture a long image in **Quick actions β Full-page screenshot**, or let an Agent use
`bsk screenshot --session <id> --full-page --out page.png`. See the
[full-page screenshot guide](https://github.com/Tencent/BrowserSkill/blob/main/docs/long-screenshot.md) for page support, cancellation and export.
## Runtime Environment
BrowserSkill has two local runtime pieces: the `bsk` CLI/daemon and the browser
extension.
| Runtime | Support |
| --- | --- |
| Operating systems | macOS (Apple Silicon and Intel), Linux (x64 and ARM64), Windows x64 |
| Browsers | Chrome and Microsoft Edge are supported; other Chromium-based browsers are expected to work when they support unpacked Chromium extensions; Firefox is planned |
## Quick Start
Using an agent sandbox that reaps background processes after each command?
Follow the [sandboxed agent setup](https://github.com/Tencent/BrowserSkill/blob/main/docs/sandboxed-agents.md) to keep the daemon
in a persistent host environment and connect with a shared `BSK_HOME` plus
`BSK_AUTO_START=0`. Ordinary local use keeps automatic startup by default.
**Install with your Agent (recommended)**
Already using Cursor, Claude Code, Codex, or another shell-capable agent? Just
copy this one line and send it to your agent β it will install the CLI and skill
for you, then walk you through loading the extension:
```
Set up browser-skill on this machine by following https://raw.githubusercontent.com/Tencent/BrowserSkill/main/AGENT_INSTALL.md
```
**Manual install**
Install the CLI, then install the extension from the [Chrome Web Store](https://chromewebstore.google.com/detail/hhcmgoofomhgciiibhipgmgkgnoenaoi)
or [Edge Add-ons](https://microsoftedge.microsoft.com/addons/detail/browserskill/emacgiaaaiojkkpkddmmdfhmokgmnikg).
#### 1. Install the `bsk` CLI
**macOS / Linux** (recommended β installs to `~/.local/bin`):
```
curl -fsSL https://raw.githubusercontent.com/Tencent/BrowserSkill/main/install.sh | sh
export PATH="${BSK_INSTALL_DIR:-$HOME/.local/bin}:$PATH"
```
**Windows** (PowerShell β installs to `~/.local/bin`):
```
irm https://raw.githubusercontent.com/Tencent/BrowserSkill/main/install.ps1 | iex
```
The export makes the CLI available in the current Unix shell. A running agent may
need the same PATH setting in each shell call, or the installed binary's absolute
path. Restart the agent if it retains an old PATH after installation.
Verify the binary in the terminal or agent environment that will use it:
```
bsk --version
```
#### 2. Install the browser extension
Install BrowserSkill from your browser's store:
| Browser | Store listing |
| --- | --- |
| Chrome | [Chrome Web Store](https://chromewebstore.google.com/detail/hhcmgoofomhgciiibhipgmgkgnoenaoi) |
| Microsoft Edge | [Edge Add-ons](https://microsoftedge.microsoft.com/addons/detail/browserskill/emacgiaaaiojkkpkddmmdfhmokgmnikg) |
On other Chromium-based browsers, install the Chrome Web Store build.
#### 3. Install the skill
BrowserSkill ships a skill that teaches your agent harness how to use `bsk`. For
these harnesses, install it in one step:
| | | | | | | | |
| --- | --- | --- | --- | --- | --- | --- | --- |
| [Cursor](https://cursor.com "Cursor") **Cursor** | [Claude Code](https://docs.anthropic.com/en/docs/claude-code "Claude Code") **Claude Code** | [Codex](https://developers.openai.com/codex "Codex") **Codex** | [OpenClaw](https://openclaw.ai "OpenClaw") **OpenClaw** | [CodeBuddy](https://www.codebuddy.ai "CodeBuddy") **CodeBuddy** | [WorkBuddy](https://www.workbuddy.ai "WorkBuddy") **WorkBuddy** | [Pi](https://github.com/badlogic/pi-mono "Pi") **Pi** | [Hermes Agent](https://github.com/NousResearch/hermes-agent "Hermes Agent") **Hermes Agent** |
```
bsk install-skill
```
Use `Space` to select the Agent harness you want to install into, then
press `Enter` to install the skill. Run `bsk install-skill --list` to see
internal variants and install paths.
For non-interactive installation, specify the intended harness, for example
`bsk install-skill --harness cursor --json`. Explicit selection also works when
the harness is not detected. `--yes` alone installs into every detected harness
and fails when none are detected.
To install your own instructions, use `bsk install-skill --harness cursor --source ./SKILL.md`.
An explicit `--source` stays custom even if its contents match the bundled skill.
Existing installations are skipped unless you add `--force`.
Daemon startup, `session start`, and `doctor` automatically update managed skills
only when their contents still match the last installed version. Local edits are
preserved and automatic updates pause. An older installation without a content
baseline is enrolled automatically only if it exactly matches the current bundled
skill; this writes the source marker without rewriting `SKILL.md`. Explicit custom
installations stay custom even when their contents match.
For differing historical files, local edits, or an unrecognized source marker,
`doctor` shows `WARN` with the reason and recovery options. These warnings do not
make the health check fail (`--json` reports `status: "warn"` and `ok: true`).
A concurrent install or sync is reported as deferred and retried on a later pass.
To keep your current instructions as an explicit customization, run
`bsk install-skill --harness cursor --source <existing-SKILL.md> --force`, replacing
`<existing-SKILL.md>` with the path to your existing file. To restore the bundled
skill and resume automatic updates, run `bsk install-skill --harness cursor --force`
without `--source`. This second command overwrites the existing instructions.
Other shell-capable agent harnesses are supported too. Copy
[`skill/SKILL.md`](https://github.com/Tencent/BrowserSkill/blob/main/skill/SKILL.md) into your harness's skills directory as
`browser-skill/SKILL.md` to install the skill manually. DeepSeek Harness uses a
dedicated plugin instead β see [DeepSeek Harness plugin](https://github.com/Tencent/BrowserSkill#deepseek-harness-plugin).
#### 4. Verify the connection
Run `bsk doctor` and follow its hints. Open the extension popup and confirm it is
connected. Explain any warnings and resolve failures before testing browser use.
Doctor can pass with no skill installed (`N/A`); verify skill discovery separately.
Start a new Agent session, confirm `browser-skill` is available in the harness,
and ask it to open `https://example.com` and summarize the page. For harnesses
with slash-command skill invocation, for example:
```
/browser-skill open example.com and summarize what is on the page.
```
A successful first-use check reads the page and stops its BrowserSkill session.
If the skill is missing, check the target harness and install path before retrying.
### Updating
For the default local setup, finish active browser tasks before updating:
```
bsk update --yes
```
If Windows reports a staged update, wait for the replacement to finish before
checking `bsk --version`.
When it installs an update, this command restarts a running daemon with default
startup settings. If you replaced the binary using the installer instead, restart
the existing daemon with `bsk daemon restart` after tasks finish.
For a custom port, host-managed sandbox daemon, or remote server, stop the daemon
in its owning host or supervisor, run `bsk update --yes --no-restart-daemon`, and
start it there with its original flags and `BSK_HOME`. Set `BSK_AUTO_START=0`
in agent commands while managing it; see the [sandbox](https://github.com/Tencent/BrowserSkill/blob/main/docs/sandboxed-agents.md)
and [remote](https://github.com/Tencent/BrowserSkill/blob/main/docs/remote-extension-connection.md) setup guides.
Update the extension through its browser store; for an unpacked development build,
rebuild and reload it. Store availability may lag the CLI release. Check the CLI,
daemon and extension versions with `bsk --version` and `bsk status`, then run
`bsk doctor`. New features such as full-page screenshots need matching builds.
Update the [DSH plugin separately](https://github.com/Tencent/BrowserSkill#deepseek-harness-plugin) and restart its profile.
Managed CLI skills synchronize on daemon startup, `session start`, or `doctor`;
local edits and custom skills are preserved. Start a new agent session to load
updated instructions.
**Upgrading to 0.3.0:** `--unattended`, `tab borrow --no-confirm`, and
`BSK_REQUEST_HELP=off` no longer bypass confirmation or disable help. Choose the
corresponding extension settings described below. See [what changed](https://github.com/Tencent/BrowserSkill/blob/main/CHANGELOG.md).
### Automation settings
The extension popup has two independent **Automation settings**, both enabled by default.
The user's saved browser settings are authoritative for every session:
| Confirm before borrowing tabs | Allow requests for human help | Behavior |
| --- | --- | --- |
| On | On | Borrowing requires approval; help requests show the existing UI. |
| On | Off | Borrowing requires approval; help requests return `disabled`. |
| Off | On | Borrowing skips confirmation; help requests show the existing UI. |
| Off | Off | Borrowing skips confirmation; help requests return `disabled`. |
Settings save automatically for the browser profile and apply to existing and new sessions.
Turning confirmation off releases pending borrow confirmations; turning help off finishes pending
help requests as `disabled`. Turning either back on restores its behavior for subsequent operations,
including sessions created with the legacy `--unattended` flag. Completed borrows are not undone,
and finished help requests are not reopened. Allowing help makes `request-help` available; it does
not require every browser action to ask for permission. Task authorization and host approvals still apply.
Start tasks with `bsk session start`; add `--no-focus` to avoid focusing the Agent Window.
Fo