Skip to main content
skill CX Codex

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.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add browser-use/browser-use --skill remote-browser -a claude-code
Open on GitHub

What 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 login and spin up a remote browser named s1
  • Open https://example.com under BU_NAME=s1 browser-use, submit search, and capture a screenshot
  • Terminate the remote daemon s1 using stop_remote_daemon("s1")

How to install remote-browser

1Skills CLI (Vercel)

npx skills add browser-use/browser-use --skill remote-browser -a claude-code

2Manually: put the files in place

~/.claude/skills/remote-browser/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/remote-browser/

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

Similar skills

All skills for Browser and scraping →

From the same set6

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor