# browser-cli

> One `browser` command a coding agent calls from its shell to drive the Chrome, Arc, Brave, Edge, Comet or Firefox profile you already use, on this machine or on another one over SSH. Every `browser start` opens a task that owns its tabs, so several agents can work in one signed-in browser at once without seeing each other's pages. Open source (Apache-2.0), by Phoenix.

Repository: https://github.com/phnx-labs/browser-cli · Page: https://browser-cli.sh · npm: `@phnx-labs/browser-cli`

## Set it up with your agent

Paste this into Claude Code, Codex, Cursor or any agent with a shell:

```text
Set up browser-cli so you can use my web browser: https://github.com/phnx-labs/browser-cli

1. Install the CLI: npm install -g @phnx-labs/browser-cli (needs Node 22.5 or newer), then check it with: browser --version
2. Install its skill once, the way that fits you:
   - Claude Code: claude plugin marketplace add phnx-labs/browser-cli, then claude plugin install browser@browser-cli
   - Codex, Cursor, OpenCode or another agent: npx skills add phnx-labs/browser-cli -g -y -a <your agent's name, such as codex or cursor>
   Then read the skill now, before you use the browser: browser skills get
3. Set up the browser profile I asked for (this one setup step is the exception to the skill's rule against creating profiles): browser profiles create work --browser chrome, or brave or edge if I use one of those, then: browser use work. That profile starts signed out, so tell me I can sign in once, in the window it opens, to the sites I want you to use. If I use Arc, create it with --browser arc; for Comet add --attach-only. Both attach to the browser I already have open and signed in.
4. Try it: browser start --url https://news.ycombinator.com --snapshot, then browser done. Tell me the title of the top story.

Run browser <command> --help before guessing at a flag.
```

## Install it yourself

```sh
npm install -g @phnx-labs/browser-cli          # Node 22.5 or newer
npx skills add phnx-labs/browser-cli           # the agent skill, for any agent
browser profiles create work --browser chrome  # or brave, edge, chromium, comet, arc
browser use work
```

In Claude Code the skill also installs as a plugin: `claude plugin marketplace add phnx-labs/browser-cli`, then `claude plugin install browser@browser-cli`.

## Use it

```sh
browser start --url https://example.com --snapshot   # opens a task; prints the page and its refs
browser click 1 --snapshot                           # click ref 1, print the page it left
browser type "Email" ada@example.com                 # type into a field by label or ref
browser text                                         # title, URL and readable text
browser screenshot
browser done                                         # close only this task's tabs
```

`browser start --device <host>` runs the task on a Chromium-family browser on another machine over SSH. `browser <command> --help` and `browser help --json` describe every flag of the installed version. Guide: https://github.com/phnx-labs/browser-cli/blob/main/docs/browser.md · Command reference: https://github.com/phnx-labs/browser-cli/blob/main/docs/command-index.md

## What it can't do yet

- An agent with `browser` acts as you. Give it a profile of its own when it shouldn't see your personal accounts. There is no URL allowlist yet.
- A saved password from a `secrets` bundle named after a site types only into that site: `--secret stripe.com/PASSWORD` is refused on any other page.
- Driving a browser on another machine works for Chromium-family browsers only; Firefox and Arc run locally, and Arc on macOS only. No Safari.
- No telemetry. The one download it makes on its own: the first recording on a machine without ffmpeg fetches it.

## Numbers

Benchmark (8 tasks, two runs each, Claude Sonnet 5.5 in Claude Code, 7 Nov 2026): 17.1 s and $0.047 per task, against 19.7 s for Browser Use and 20.4 s for browser-harness. Three agents in one browser: 0 of 6 agent runs saw another agent's tab, against 4 to 6 of 6 for the other tools. Method and every run: https://github.com/phnx-labs/browser-cli/blob/main/docs/benchmarks.md
