Featured

Deploy OpenClaw in 60 seconds — 20% off logoDeploy OpenClaw in 60 seconds — 20% off

Launch OpenClaw on Hostinger in about 60 seconds and keep your agent live 24/7. Our referral link gives you 20% off, no coupon code needed.

Launch on Hostinger
Run your Hermes agent on Hostinger, fully managed logoRun your Hermes agent on Hostinger, fully managed

Launch Hermes on Hostinger in one click, fully managed, no VPS knowledge needed. Use code ZACAARON10 for 10% off.

Launch on Hostinger
Crawl and scrape any site into clean data, 10% off logoCrawl and scrape any site into clean data, 10% off

Firecrawl crawls and scrapes any site into clean markdown for your agent. Get 1,000 free credits, and new users get 10% off their first purchase.

Try Firecrawl free
Your own AI agent, running 24/7 with QwikClaw logoYour own AI agent, running 24/7 with QwikClaw

QwikClaw sets up and runs an always-on OpenClaw agent for you. One click, no config files, no server setup.

Deploy now
One API to scrape, enrich, and extract the internet. logoOne API to scrape, enrich, and extract the internet.

Context.dev gives your agents a single API to scrape, enrich, and extract live web data — no proxies, no parsers, no maintenance.

Start building free
SetupClaw: done-for-you OpenClaw for founders & exec teams logoSetupClaw: done-for-you OpenClaw for founders & exec teams

White-glove OpenClaw for founders and exec teams (4–50+ employees): we install, harden, integrate your tools, and maintain it — secured from day one.

Get it set up for you
SEO data APIs for your agent, $1 free credit logoSEO data APIs for your agent, $1 free credit

DataForSEO gives your agent live access to SERP results, keyword data, backlinks, and on-page SEO data through one API. New accounts get a $1 credit, good for up to 20,000 keyword or backlink lookups.

Try DataForSEO free
Reach 47,000+ AI builders

A flat monthly placement in front of developers actively installing AI tools. No lock-in, cancel anytime.

Advertise here

Summary

Target-first local Chrome/Chromium browser control with signed-in profiles, labeled tabs, and guarded actions

Install to Claude Code

/plugin install realbrowser@realbrowser

Run in Claude Code. Add the marketplace first with /plugin marketplace add darkamenosa/realbrowser if you haven't already.

README.md

Realbrowser

Realbrowser is an agent skill and small local CLI for fast target-first browser automation against Chrome/Chromium. It is built for the cases where the useful state is in the browser the developer is already using: signed-in profiles, cookies, local storage, active tabs, console logs, network traffic, downloads, and local app state.

The current CLI is grouped and target-first:

realbrowser [global flags] <group> <command> [args] [flags]

Acquire or create one tab target first, then pass -t <label> or --handle to reads, actions, screenshots, console, network, state, dialogs, performance, downloads, and exports.

What It Provides

  • An agent skill named realbrowser (works with Claude Code, Codex, and other

agent platforms).

  • A zero-dependency Node CLI at skills/realbrowser/scripts/realbrowser.mjs.
  • Portable wrappers:
  • skills/realbrowser/scripts/realbrowser for macOS/Linux shells.
  • skills/realbrowser/scripts/realbrowser.ps1 for PowerShell.
  • skills/realbrowser/scripts/realbrowser.cmd for Windows cmd.exe.
  • Signed-in profile attach through Chrome/Chromium DevTools endpoints.
  • Anonymous managed sessions for clean browser state.
  • Stable labeled tab targets, scoped per owner/session.
  • Target leases for mutating commands so parallel sessions do not

accidentally navigate, close, or click each other's tabs.

  • Compact page reads, structured item extraction, screenshots, console logs,

network request/response capture, uploads, guarded submits, downloads, and PDF export.

Requirements

  • Node.js 22 or newer.
  • Chrome or a Chromium-family browser.
  • A local machine where Chrome DevTools access is acceptable for the requested

profile/session.

Installation

Claude Code

Add the marketplace, then install the plugin:

/plugin marketplace add darkamenosa/realbrowser
/plugin install realbrowser@realbrowser

To update later:

/plugin marketplace update realbrowser
/plugin update realbrowser@realbrowser

Local development install:

/plugin marketplace add /path/to/realbrowser
/plugin install realbrowser@realbrowser

The skill auto-activates when tasks involve browser interaction, screenshots, console logs, network debugging, or form automation.

Codex

Place the repo under $HOME/.codex/skills/realbrowser and use the

agents/openai.yaml configuration.

Standalone CLI

node skills/realbrowser/scripts/realbrowser.mjs help

Run the built-in checks:

skills/realbrowser/scripts/realbrowser self-test

Common Flows

Parallel sessions:

export REALBROWSER_OWNER=my-project
realbrowser session use profile:chrome:Default
realbrowser tab ensure http://localhost:3000 --profile chrome:Default --label app --background
realbrowser read observe -t app

REALBROWSER_OWNER or --owner <id> scopes labels and default context. Without an explicit owner, Realbrowser uses the current agent/terminal session when one is available, falling back to the project path. Mutating commands claim a target lease; if another owner already owns that tab, rerun with --take-lease only when you intentionally want to take it over. tab ensure creates a fresh tab instead of reusing another owner's URL match.

Anonymous page:

realbrowser tab ensure https://example.com --anonymous --session check --label page --background
realbrowser read observe -t page --anonymous --session check

Visible Chrome Incognito window:

realbrowser tab ensure https://example.com --anonymous --session private --label page --front --incognito
realbrowser read observe -t page --anonymous --session private

Signed-in profile:

realbrowser profile list --active
realbrowser tab list "localhost" --profile chrome:Default
realbrowser tab ensure http://localhost:3000 --profile chrome:Default --label app --background
realbrowser read observe -t app --profile chrome:Default

Console and network evidence:

realbrowser console list -t app --errors --limit 50
realbrowser console capture -t app --reload --duration 3000 --out tmp/console.json
realbrowser network capture -t app --reload --duration 5000 --out tmp/network.json
realbrowser network body -t app req_12 --response --out tmp/req_12-response.json --full

Actions and uploads:

realbrowser action state -t app --root active --compact --screenshot --annotate-refs
realbrowser action fill -t app e1 "caption text"
realbrowser action upload -t app --root active --input-ref e2 ~/Downloads/media.png
realbrowser action submit -t app --root active --text "Submit"

Screenshots and exports:

realbrowser screenshot capture -t app tmp/app.png
realbrowser screenshot full -t app tmp/app-full.png
realbrowser screenshot device -t page --anonymous --session responsive --devices desktop:1440x900,tablet:768x1024,mobile:390x844 tmp/page
realbrowser export pdf -t app tmp/page.pdf --print-background

Operating Model

Use the smallest command that answers the question:

  • profile list --active to discover usable signed-in profile endpoints.
  • tab list, tab select, tab ensure, and tab new to acquire a target.
  • read observe, read size, read query, read items, read item, and

read snapshot for compact page state and structured content.

  • action state before mutating the page, then act on current refs.
  • console and network for debugging evidence.
  • screenshot and export pdf for visual artifacts.

Do not start from broad HTML or whole-page dumps. Use --out for large reads, network bodies, HAR files, screenshots, and traces so they can be inspected with local tools instead of sent through model context.

Profile Safety

With --profile, existing browser tabs may be diagnostic only when CDP is browser-scoped and the tab was not created by Realbrowser through that profile. If a named-profile open needs a proven target, create a new tab through the profile with tab ensure <url> --profile <profile> --label <label>.

--anonymous creates isolated temporary browser state. It is not network anonymity and is not the same as Chrome's visible Incognito UI. Add

--incognito or --private only when a visible private window is explicitly needed.

Realbrowser should keep signed-in profile work in the background when possible. Use --front only for explicit visual handoff. tab ensure --background performs verified browserContextId discovery when possible.

--best-effort-background is only for stopped-profile launch risk and must not OS-launch an already-running browser-scoped profile.

Chrome approval prompts are controlled by Chrome, not the skill. Realbrowser reduces repeated prompts by reusing the same direct DevToolsActivePort WebSocket and daemon per browser endpoint. After a browser/computer restart, a signed-in real Chrome profile can still require Chrome's approval once; managed anonymous sessions avoid signed-in-profile approval but do not contain the user's logged-in state.

Plugin Structure

realbrowser/
├── .claude-plugin/
│   └── plugin.json              # Claude Code plugin manifest
├── skills/
│   └── realbrowser/
│       ├── SKILL.md             # Skill instructions
│       ├── scripts/             # CLI and wrappers
│       │   ├── realbrowser      # macOS/Linux shell wrapper
│       │   ├── realbrowser.cmd  # Windows cmd wrapper
│       │   ├── realbrowser.ps1  # PowerShell wrapper
│       │   └── realbrowser.mjs  # Node CLI implementation
│       └── references/          # Detailed documentation
│           ├── commands.md
│           ├── workflows.md
│           └── design-notes.md
├── agents/
│   └── openai.yaml              # Codex agent configuration
├── README.md
├── CHANGELOG.md
└── LICENSE

Development Notes

Realbrowser is intentionally thin and portable:

  • Keep workflow guidance in skills/realbrowser/SKILL.md.
  • Keep command details in skills/realbrowser/references/commands.md and

skills/realbrowser/references/workflows.md.

  • Keep the implementation in skills/realbrowser/scripts/realbrowser.mjs unless

a boundary becomes stable enough to justify another file.

  • Add or update self-test coverage for parser, help, state, and CLI behavior

regressions.

Useful checks:

skills/realbrowser/scripts/realbrowser --version
skills/realbrowser/scripts/realbrowser help
skills/realbrowser/scripts/realbrowser self-test

Related plugins

Browse all →