remote-browser — Claude Code skill: what it does, how to install
Controls an isolated Browser Use Cloud session via the CLI. It helps agents automate web tasks on machines where a local Chrome is absent.
npx skills add browser-use/browser-use --skill remote-browser -a claude-codeWhat remote-browser does
The skill feeds Python scripts into the browser-use CLI via stdin heredocs to drive Browser Use Cloud instances. It fits sandboxes and headless systems where a local Chrome binary cannot run. Legacy subcommands like open, click, or cloud connect are no longer supported.
Before running tasks, authenticate via browser-use auth login. Each cloud session requires an arbitrary short name passed through the BU_NAME environment variable. The CLI pre-imports helpers for navigation, coordinate clicking, and accessibility tree inspection over CDP.
Running remote daemons accrue cloud billing until closed or timed out. For that reason, agents must clean up finished sessions with stop_remote_daemon.
What it helps with
- Automate web flows on headless sandboxes lacking a local Chrome install
- Inspect interface elements through the CDP accessibility tree
- Isolate concurrent browsing runs with separate cloud instances
- Verify page updates using screenshots and DOM checks
Example prompts for the agent
- Authenticate with
browser-use auth loginand spin up a remote browser nameds1 - Open
https://example.comunderBU_NAME=s1 browser-use, submit search, and capture a screenshot - Terminate the remote daemon
s1usingstop_remote_daemon("s1")
How to install remote-browser
1Skills CLI (Vercel)
npx skills add browser-use/browser-use --skill remote-browser -a claude-code2Manually: put the files in place
~/.claude/skills/remote-browser/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/remote-browser/
1Skills CLI (Vercel)
npx skills add browser-use/browser-use --skill remote-browser -a codex2Manually: put the files in place
.agents/skills/remote-browser/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add browser-use/browser-use --skill remote-browser -a cursor2Manually: put the files in place
.cursor/skills/remote-browser/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install browser-use/browser-use remote-browser2Manually: put the files in place
.github/skills/remote-browser/SKILL.md1Skills CLI (Vercel)
npx skills add browser-use/browser-use --skill remote-browser -a gemini-cli2Platform CLI
gemini skills install https://github.com/browser-use/browser-use --path skills/remote-browserManually: put the files in place
.devin/skills/remote-browser/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add browser-use/browser-use --skill remote-browser -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about remote-browser
How do I install remote-browser in Claude Code?
Run npx skills add browser-use/browser-use --skill remote-browser -a claude-code in your terminal.
What is remote-browser used for?
It lets agents control an isolated Browser Use Cloud Chrome instance when operating in environments without a local browser.
How do you avoid unexpected cloud charges?
Sessions remain billable until closed or timed out. Always execute stop_remote_daemon with the session identifier once tasks finish.
Source text
SKILL.md · MIT
---
name: remote-browser
description: Controls an isolated Browser Use Cloud browser from a sandboxed machine with the current Browser Use CLI.
allowed-tools: Bash(browser-use:*)
---
# Remote Browser
Use this skill when an agent runs on a machine without a usable local Chrome and needs an isolated browser. The current Browser Use CLI runs Python from stdin. Do not use the removed `open`, `state`, `click`, `input`, `tab`, `cloud connect`, or `--connect` commands.
## Check the CLI
```bash
browser-use --doctor
browser-use skill show
```
If setup fails, follow the current [Browser Use skill](../browser-use/SKILL.md).
## Start an isolated browser
Authenticate once:
```bash
browser-use auth login
```
Pick a short unique name. `r7k2` below is only an example.
```bash
browser-use <<'PY'
start_remote_daemon("r7k2")
PY
```
Use the same name for every command in this browser:
```bash
BU_NAME=r7k2 browser-use <<'PY'
new_tab("https://example.com")
wait_for_load()
print(page_info())
PY
```
Each remote daemon is a separate Browser Use Cloud browser. Use a different name for each parallel task. Remote browsers can bill until they stop or time out.
## Inspect and interact
Helpers are pre-imported. Keep multi-step work in one heredoc when practical.
```bash
BU_NAME=r7k2 browser-use <<'PY'
print(page_info())
print(js("document.title"))
fill_input('input[name="q"]', "browser automation")
press_key("Enter")
wait_for_load()
print(page_info())
PY
```
Useful helpers:
- Navigate: `new_tab(url)`, `goto_url(url)`, `wait_for_load()`
- Inspect: `page_info()`, `js(code)`, `cdp(method, ...)`
- Interact: `click_at_xy(x, y)`, `type_text(text)`, `fill_input(selector, text)`, `press_key(key)`, `scroll(x, y)`
- Tabs: `list_tabs()`, `switch_tab(target)`, `close_tab(target)`
- Files and proof: `capture_screenshot()`, `wait_for_element(selector)`
Prefer the accessibility tree for element discovery:
```python
nodes = cdp("Accessibility.getFullAXTree")["nodes"]
```
Use a targeted `js(...)` query when the accessibility tree lacks the element. Verify each action with `page_info()`, a focused DOM check, or a screenshot.
## Stop the browser
When the work is done, stop the exact named browser:
```bash
browser-use <<'PY'
stop_remote_daemon("r7k2")
PY
```
Do not leave an unused remote browser running.
© browser-use · MIT · browser-use/browser-use