browser
remoteclaw browser
Manage RemoteClaw’s browser control surface and run browser actions (lifecycle, profiles, tabs, snapshots, screenshots, navigation, input, state emulation, and debugging).
Related:
- Browser tool + API: Browser tool
Common flags
--url <gatewayWsUrl>: Gateway WebSocket URL (defaults to config).--token <token>: Gateway token (if required).--timeout <ms>: request timeout (ms).--expect-final: wait for a final Gateway response.--browser-profile <name>: choose a browser profile (default from config).--json: machine-readable output (where supported).
Quick start (local)
remoteclaw browser profilesremoteclaw browser --browser-profile remoteclaw startremoteclaw browser --browser-profile remoteclaw open https://example.comremoteclaw browser --browser-profile remoteclaw snapshotLifecycle
remoteclaw browser statusremoteclaw browser startremoteclaw browser stopremoteclaw browser --browser-profile remoteclaw reset-profileNotes:
- For
attachOnlyand remote CDP profiles,remoteclaw browser stopcloses the active control session and clears temporary emulation overrides even when RemoteClaw did not launch the browser process itself. - For local managed profiles,
remoteclaw browser stopstops the spawned browser process.
If the command is missing
If remoteclaw browser is an unknown command, check plugins.allow in
~/.remoteclaw/remoteclaw.json.
When plugins.allow is present, the bundled browser plugin must be listed
explicitly:
{ plugins: { allow: ["telegram", "browser"], },}browser.enabled=true does not restore the CLI subcommand when the plugin
allowlist excludes browser.
Related: Browser tool
Profiles
Profiles are named browser routing configs. In practice:
remoteclaw: launches or attaches to a dedicated RemoteClaw-managed Chrome instance (isolated user data dir).user: controls your existing signed-in Chrome session via Chrome DevTools MCP.- custom CDP profiles: point at a local or remote CDP endpoint.
remoteclaw browser profilesremoteclaw browser create-profile --name work --color "#FF5A36"remoteclaw browser create-profile --name chrome-live --driver existing-sessionremoteclaw browser create-profile --name remote --cdp-url https://browser-host.example.comremoteclaw browser delete-profile --name workUse a specific profile:
remoteclaw browser --browser-profile work tabsTabs
remoteclaw browser tabsremoteclaw browser tab newremoteclaw browser tab select 2remoteclaw browser tab close 2remoteclaw browser open https://docs.remoteclaw.orgremoteclaw browser focus <targetId>remoteclaw browser close <targetId>Snapshot / screenshot / actions
Snapshot:
remoteclaw browser snapshotScreenshot:
remoteclaw browser screenshotremoteclaw browser screenshot --full-pageremoteclaw browser screenshot --ref e12Notes:
--full-pageis for page captures only; it cannot be combined with--refor--element.existing-session/userprofiles support page screenshots and--refscreenshots from snapshot output, but not CSS--elementscreenshots.
Navigate/click/type (ref-based UI automation):
remoteclaw browser navigate https://example.comremoteclaw browser click <ref>remoteclaw browser type <ref> "hello"remoteclaw browser press Enterremoteclaw browser hover <ref>remoteclaw browser scrollintoview <ref>remoteclaw browser drag <startRef> <endRef>remoteclaw browser select <ref> OptionA OptionBremoteclaw browser fill --fields '[{"ref":"1","value":"Ada"}]'remoteclaw browser wait --text "Done"remoteclaw browser evaluate --fn '(el) => el.textContent' --ref <ref>File + dialog helpers:
remoteclaw browser upload /tmp/remoteclaw/uploads/file.pdf --ref <ref>remoteclaw browser waitfordownloadremoteclaw browser download <ref> report.pdfremoteclaw browser dialog --acceptState and storage
Viewport + emulation:
remoteclaw browser resize 1280 720remoteclaw browser set viewport 1280 720remoteclaw browser set offline onremoteclaw browser set media darkremoteclaw browser set timezone Europe/Londonremoteclaw browser set locale en-GBremoteclaw browser set geo 51.5074 -0.1278 --accuracy 25remoteclaw browser set device "iPhone 14"remoteclaw browser set headers '{"x-test":"1"}'remoteclaw browser set credentials myuser mypassCookies + storage:
remoteclaw browser cookiesremoteclaw browser cookies set session abc123 --url https://example.comremoteclaw browser cookies clearremoteclaw browser storage local getremoteclaw browser storage local set token abc123remoteclaw browser storage session clearDebugging
remoteclaw browser console --level errorremoteclaw browser pdfremoteclaw browser responsebody "**/api"remoteclaw browser highlight <ref>remoteclaw browser errors --clearremoteclaw browser requests --filter apiremoteclaw browser trace startremoteclaw browser trace stop --out trace.zipExisting Chrome via MCP
Use the built-in user profile, or create your own existing-session profile:
remoteclaw browser --browser-profile user tabsremoteclaw browser create-profile --name chrome-live --driver existing-sessionremoteclaw browser create-profile --name brave-live --driver existing-session --user-data-dir "~/Library/Application Support/BraveSoftware/Brave-Browser"remoteclaw browser --browser-profile chrome-live tabsThis path is host-only. For Docker, headless servers, Browserless, or other remote setups, use a CDP profile instead.
Current existing-session limits:
- snapshot-driven actions use refs, not CSS selectors
clickis left-click onlytypedoes not supportslowly=truepressdoes not supportdelayMshover,scrollintoview,drag,select,fill, andevaluatereject per-call timeout overridesselectsupports one value onlywait --load networkidleis not supported- file uploads require
--ref/--input-ref, do not support CSS--element, and currently support one file at a time - dialog hooks do not support
--timeout - screenshots support page captures and
--ref, but not CSS--element responsebody, download interception, PDF export, and batch actions still require a managed browser or raw CDP profile
Remote browser control (node host proxy)
If the Gateway runs on a different machine than the browser, run a node host on the machine that has Chrome/Brave/Edge/Chromium. The Gateway will proxy browser actions to that node (no separate browser control server required).
Use gateway.nodes.browser.mode to control auto-routing and gateway.nodes.browser.node to pin a specific node if multiple are connected.
Security + remote setup: Browser tool, Remote access, Tailscale, Security