Give your agents a command line to the web
OpenClaw-friendly commands for verifying relay status, reading the real page, and acting against your logged-in Chrome. Always run the published package through npx -y @vibebrowser/cli@latest.
Real browser session
Reuse your actual tabs, cookies, logins, extensions, and saved state instead of spinning up a separate browser runtime.
Local or remote relay
Start locally on the same machine or point the CLI at a remote UUID when your browser is exposed through the Vibe relay.
Same package, two surfaces
Install @vibebrowser/cli for lightweight command flows or @vibebrowser/mcp for MCP agents — both share the same relay and browser connection.
Quick start for OpenClaw-style flows
These are the direct CLI checks that prove browser control. A skill listing is not enough; verify extensionConnected and a real page snapshot.
Verify the relay
npx -y @vibebrowser/cli@latest --remote "<my remote>" --json status --wait-for-extension --wait-timeout 20000Read the real page
npx -y @vibebrowser/cli@latest --remote "<my remote>" --json snapshot --format ariaOpen a URL
npx -y @vibebrowser/cli@latest --remote "<my remote>" open https://example.comClick by ref after a snapshot
npx -y @vibebrowser/cli@latest --remote "<my remote>" click A12If your Vibe extension is connected in remote mode, use the same CLI with a UUID or full WSS URL:
npx -y @vibebrowser/cli@latest --remote "<my remote>" --json status --wait-for-extension --wait-timeout 20000What this page is for
Use this route when you want OpenClaw-first command workflows. If you need a broader CLI positioning for non-OpenClaw runtimes, use /cli. For JSON MCP config blocks (Claude Code, Codex, Cursor, VS Code), use Vibe Browser for Agents.
Agent setup
One-shot install prompt
Paste this block into your OpenClaw or Hermes agent. The button copies the full prompt so users do not have to select text manually.
Agent install prompt
You are setting yourself up to control my real Chrome through Vibe Browser. Work through the steps in order. Do not claim a step is done until you have proven it.
1. Install the "vibebrowser" skill for your runtime, then confirm it is listed:
- OpenClaw: npx -y skills add VibeTechnologies/vibe-mcp -s vibebrowser -a openclaw -g -y --copy --dangerously-accept-openclaw-risks
then run `openclaw skills list`. You may report the vibebrowser row only if you actually checked it.
- Hermes: npx -y skills add VibeTechnologies/vibe-mcp -s vibebrowser -y
Do not treat `npx -y skills list` as proof that browser control works. A listed row is only a skill listing.
2. Remember my remote so I only give it to you once. Save it to a file `vibebrowser-cli.md` in your persistent agent workspace root as a line `remote: <value>`; if your runtime can also write memory keys, additionally store it under `vibebrowser_remote`. On every later command — including the first message of a new conversation — load it back from that file and reuse it without asking me again.
3. Record these standing rules so you route correctly later:
- Whenever I ask you to do anything in MY browser / MY Chrome / MY tabs / the page I'm on, use the vibebrowser skill to drive my REAL browser, not your built-in, headless, or in-pod browser, and not web-fetch.
- Never run `vibebrowser` directly. Always run `npx -y @vibebrowser/cli@latest` for direct CLI verification commands.
4. Confirm you can control my Chrome, retrying on "Extension reconnecting" (wait 3s, up to 5x):
npx -y @vibebrowser/cli@latest --remote "<my remote>" --json status --wait-for-extension --wait-timeout 20000
npx -y @vibebrowser/cli@latest --remote "<my remote>" --json snapshot --format aria
Then report the real proof: extensionConnected is true, and the snapshot returned real page content from my browser. For OpenClaw only, also report the skill listing if you checked it. Do not claim Hermes browser control works because a skill row exists.
My remote: <PASTE YOUR UUID OR wss:// URL HERE>