← Back to Skills Marketplace
🔌

BrowserOS CLI

by BrowserOS · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
116
Downloads
1
Stars
0
Active Installs
3
Versions
Install in OpenClaw
/install browseros-agent
Description
Use when a task requires interacting with a website beyond just reading it — clicking elements, filling forms, submitting data, navigating through multi-step...
README (SKILL.md)

Browser Automation with BrowserOS

Control a real Chromium browser via browseros-cli. Run commands via Bash. Use --json for structured output, -p \x3CpageId> to target specific tabs.

When NOT to Use

  • Headless scraping in CI/CD with no display — use Playwright or Puppeteer instead.
  • Static page fetching where curl/wget suffices.

Safety Defaults

  • Default to read-only first: snap, text, links, pages, ss.
  • Avoid eval unless no simpler command works.
  • Save screenshots/PDFs only to user-specified or workspace paths.
  • Close tabs when done: browseros-cli close \x3CpageId>.

Setup

# Check if CLI is available
browseros-cli --version

# If not installed:
npm install -g browseros-cli

# If BrowserOS app is not installed:
browseros-cli install

# If BrowserOS is not running:
browseros-cli launch

# Configure connection:
browseros-cli init --auto

# Verify:
browseros-cli health

Core Workflow: snap → act → re-snap

Every interaction follows this loop:

  1. Open a page → get a page ID.
  2. Snap → get element IDs like [10] textbox "Email", [15] button "Submit".
  3. Act on elements by ID (fill 10 "text", click 15).
  4. Re-snap after ANY click, navigation, or form submit — IDs change after DOM updates.

Critical rules:

  • open \x3Curl> = new tab. nav \x3Curl> = navigate current tab.
  • NEVER reuse element IDs after navigation — always snap again.
  • Use text for content extraction, snap for interaction, ss for visual verification.
browseros-cli open https://example.com/login    # → Page ID: 5
browseros-cli snap -p 5                          # → [10] textbox "Email", [11] textbox "Password", [15] button "Sign In"
browseros-cli fill 10 "[email protected]"
browseros-cli fill 11 "password123"
browseros-cli click 15
browseros-cli snap -p 5                          # Re-snap! IDs have changed after submit
browseros-cli text -p 5                          # Read result page
browseros-cli close 5                            # Clean up

Commands Quick Reference

Category Key Commands
Navigate open \x3Curl>, open --hidden, nav \x3Curl>, back, forward, reload, pages, active, close [id]
Observe snap, snap -e, text, text --selector \x3Ccss>, text --links, text --viewport, links, ss -o \x3Cpath>, ss --full, eval "\x3Cjs>", dom, dom-search "\x3Cq>", wait --text "\x3Ctxt>"
Input click \x3Cid>, click --double, fill \x3Cid> "text", clear \x3Cid>, key Enter, hover \x3Cid>, focus \x3Cid>, check \x3Cid>, uncheck \x3Cid>, select \x3Cid> "val", scroll down [amt], drag \x3Cid> --to \x3Cid>, upload \x3Cid> \x3Cfile>, dialog accept/dismiss
Export pdf \x3Cpath>, download \x3Cid> \x3Cdir>
Resources window list/create/close/activate, bookmark list/search/create/remove/update/move, history recent/search/delete, group list/create/update/ungroup/close

Full flags and options: see references/cli-commands.md or run browseros-cli \x3Ccommand> --help.

Common Patterns

Data extraction

browseros-cli open https://example.com/data
browseros-cli text                         # full page as markdown
browseros-cli text --selector "table"      # scoped to element
browseros-cli text --links                 # include hyperlinks

Multi-tab research

browseros-cli open https://site-a.com      # → Page ID: 1
browseros-cli open https://site-b.com      # → Page ID: 2
browseros-cli text -p 1                    # extract from first
browseros-cli text -p 2                    # extract from second
browseros-cli close 1 && browseros-cli close 2

Web app testing

browseros-cli open http://localhost:3000
browseros-cli snap                         # get interactive elements
browseros-cli ss -o test-state.png         # visual snapshot
browseros-cli eval "document.querySelectorAll('.error').length"

Common Mistakes

Mistake Fix
Using CSS selectors (fill --selector "input[type=email]") Always snap first, then use element IDs (fill 10 "text")
Reusing element IDs after a click or navigation IDs are invalidated by DOM changes — snap again
Using eval to extract text Use text or text --selector instead — lower tokens, structured output
Forgetting to close tabs Always close \x3CpageId> when done to avoid resource leaks
Using nav when you want a new tab nav replaces the current tab. Use open for a new tab
Using open when you want to stay in the same tab open creates a new tab. Use nav to navigate in place
Taking screenshots for content extraction Use text for content — screenshots burn tokens and need vision
Using dialog --accept (flag syntax) Correct syntax is dialog accept or dialog dismiss (positional arg)

Deep-Dive Documentation

Reference Description
references/cli-commands.md Full command reference with all flags

Links

Usage Guidance
This SKILL.md is an instruction-only adapter for the browseros-cli tool — it looks coherent for browser automation. Before you install or let an agent use it: 1) Verify the npm package and BrowserOS download sources (follow the provided GitHub/browseros.com links) to ensure you're installing the official binaries. 2) Be aware the CLI can upload local files, download files, run page JS (eval), and read/write browser history/bookmarks — avoid giving the agent secrets or private files to upload. 3) Check for existing ~/.browseros or ~/.config/browseros-cli config files and BROWSEROS_URL/BOS_* env vars; these may contain server URLs or tokens the CLI will use. 4) Prefer running the CLI in a controlled environment (sandbox/container) if the pages you automate or files you handle are sensitive. If you want a stricter audit trail, review the browseros-cli project source on GitHub before installing.
Capability Analysis
Type: OpenClaw Skill Name: browseros-agent Version: 1.0.0 The skill provides a comprehensive interface for browser automation via `browseros-cli`, which includes high-risk capabilities such as accessing browser history and bookmarks, uploading/downloading files to/from the host, and executing arbitrary JavaScript via `eval`. While these features are aligned with the stated purpose and the `SKILL.md` includes safety guidelines, the broad access to sensitive user data and the requirement to install global NPM packages and download external binaries (`browseros-cli install`) represent a significant attack surface. No evidence of intentional malice was found in `SKILL.md` or `references/cli-commands.md`.
Capability Assessment
Purpose & Capability
The name and description (browser automation: clicking, filling forms, screenshots, bookmarks/history) match the CLI commands and examples in SKILL.md and references/cli-commands.md. However, the registry metadata claims no required env vars or config paths while the command reference documents environment variables (BROWSEROS_URL, BOS_JSON, BOS_DEBUG) and auto-detection from local config files (~/.browseros/server.json, ~/.config/browseros-cli/config.yaml). This is a minor inconsistency but explainable: the skill itself does not demand credentials, yet the CLI can use local config or env vars if present.
Instruction Scope
The SKILL.md stays within browser automation scope (open, snap, click, fill, upload, download, history/bookmark commands). It does allow potentially sensitive actions that are normal for a browser CLI: file upload, downloading files to disk, reading/saving screenshots, running page JS via eval, and manipulating browser history/bookmarks. The document warns against eval and recommends read-only first, which helps, but the instructions give the agent broad discretion (e.g., upload <file>, history delete) that could access or modify local data if the operator or agent provides files or config paths.
Install Mechanism
There is no formal install spec in the registry (instruction-only), but SKILL.md instructs installing via npm (npm install -g browseros-cli) and running browseros-cli install which downloads the BrowserOS app. Installing a third-party npm package and downloading a native app are normal for a CLI, but they do introduce the usual risks of fetching and running remote code. The SKILL.md points to plausible project pages (browseros.com, GitHub) rather than obscure URLs, reducing concern but you should verify the package origin before running npm -g.
Credentials
The skill metadata lists no required env vars or primary credential, which aligns with an instruction-only skill. The command reference, however, documents optional env vars (BROWSEROS_URL, BOS_JSON, BOS_DEBUG) and config-file auto-detection paths. Those are reasonable for a CLI, but if present they could cause the CLI to read local configuration or server URLs (and potentially credentials) from disk or environment. In short: the skill itself doesn't demand secrets, but the underlying CLI can use local env/config — verify those before use.
Persistence & Privilege
The skill is not always-enabled and does not request elevated platform persistence. It is user-invocable and allows autonomous invocation (the platform default). It does not attempt to modify other skills or system-wide agent settings in the provided instructions.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install browseros-agent
  3. After installation, invoke the skill by name or use /browseros-agent
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial release of the browseros-cli skill. - Provides browser automation capabilities using the browseros-cli tool. - Enables real browser interactions such as clicking, typing, form filling, navigation, and screenshots. - Supports management of browser bookmarks, history, and tabs. - Includes safety guidelines, setup instructions, and common usage patterns. - Offers a comprehensive command reference and troubleshooting tips.
v0.3.2
No user-facing changes in this release. - Version bump to 0.3.2 with no updates to documentation or code files.
v0.3.1
No user-visible changes in this version. - No file changes detected between 0.3.0 and 0.3.1. - Documentation and skill behavior remain unchanged.
Metadata
Slug browseros-agent
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 3
Frequently Asked Questions

What is BrowserOS CLI?

Use when a task requires interacting with a website beyond just reading it — clicking elements, filling forms, submitting data, navigating through multi-step... It is an AI Agent Skill for Claude Code / OpenClaw, with 116 downloads so far.

How do I install BrowserOS CLI?

Run "/install browseros-agent" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is BrowserOS CLI free?

Yes, BrowserOS CLI is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does BrowserOS CLI support?

BrowserOS CLI is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created BrowserOS CLI?

It is built and maintained by BrowserOS (@browseros-ai); the current version is v1.0.0.

💬 Comments