--- summary: "CLI reference for `openclaw browser` (profiles, tabs, actions, Chrome MCP, and CDP)" read_when: - You use `openclaw browser` and want examples for common tasks - You want to control a browser running on another machine via a node host - You want to attach to your local signed-in Chrome via Chrome MCP title: "browser" --- # `openclaw browser` Manage OpenClaw’s browser control server and run browser actions (tabs, snapshots, screenshots, navigation, clicks, typing). Related: - Browser tool + API: [Browser tool](/tools/browser) ## Common flags - `--url `: Gateway WebSocket URL (defaults to config). - `--token `: Gateway token (if required). - `--timeout `: request timeout (ms). - `--browser-profile `: choose a browser profile (default from config). - `--json`: machine-readable output (where supported). ## Quick start (local) ```bash openclaw browser profiles openclaw browser --browser-profile openclaw start openclaw browser --browser-profile openclaw open https://example.com openclaw browser --browser-profile openclaw snapshot ``` ## Profiles Profiles are named browser routing configs. In practice: - `openclaw`: launches or attaches to a dedicated OpenClaw-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. ```bash openclaw browser profiles openclaw browser create-profile --name work --color "#FF5A36" openclaw browser create-profile --name chrome-live --driver existing-session openclaw browser delete-profile --name work ``` Use a specific profile: ```bash openclaw browser --browser-profile work tabs ``` ## Tabs ```bash openclaw browser tabs openclaw browser open https://docs.openclaw.ai openclaw browser focus openclaw browser close ``` ## Snapshot / screenshot / actions Snapshot: ```bash openclaw browser snapshot ``` Screenshot: ```bash openclaw browser screenshot ``` Navigate/click/type (ref-based UI automation): ```bash openclaw browser navigate https://example.com openclaw browser click openclaw browser type "hello" ``` ## Existing Chrome via MCP Use the built-in `user` profile, or create your own `existing-session` profile: ```bash openclaw browser --browser-profile user tabs openclaw browser create-profile --name chrome-live --driver existing-session openclaw browser create-profile --name brave-live --driver existing-session --user-data-dir "~/Library/Application Support/BraveSoftware/Brave-Browser" openclaw browser --browser-profile chrome-live tabs ``` This path is host-only. For Docker, headless servers, Browserless, or other remote setups, use a CDP profile instead. ## 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](/tools/browser), [Remote access](/gateway/remote), [Tailscale](/gateway/tailscale), [Security](/gateway/security)