{ "title": "`openclaw browser`", "content": "Manage OpenClaw’s browser control server and run browser actions (tabs, snapshots, screenshots, navigation, clicks, typing).\n\n* Browser tool + API: [Browser tool](/tools/browser)\n* Chrome extension relay: [Chrome extension](/tools/chrome-extension)\n\n* `--url `: Gateway WebSocket URL (defaults to config).\n* `--token `: Gateway token (if required).\n* `--timeout `: request timeout (ms).\n* `--browser-profile `: choose a browser profile (default from config).\n* `--json`: machine-readable output (where supported).\n\n## Quick start (local)\n\nProfiles are named browser routing configs. In practice:\n\n* `openclaw`: launches/attaches to a dedicated OpenClaw-managed Chrome instance (isolated user data dir).\n* `chrome`: controls your existing Chrome tab(s) via the Chrome extension relay.\n\nUse a specific profile:\n\n## Snapshot / screenshot / actions\n\nNavigate/click/type (ref-based UI automation):\n\n## Chrome extension relay (attach via toolbar button)\n\nThis mode lets the agent control an existing Chrome tab that you attach manually (it does not auto-attach).\n\nInstall the unpacked extension to a stable path:\n\nThen Chrome → `chrome://extensions` → enable “Developer mode” → “Load unpacked” → select the printed folder.\n\nFull guide: [Chrome extension](/tools/chrome-extension)\n\n## Remote browser control (node host proxy)\n\nIf 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).\n\nUse `gateway.nodes.browser.mode` to control auto-routing and `gateway.nodes.browser.node` to pin a specific node if multiple are connected.\n\nSecurity + remote setup: [Browser tool](/tools/browser), [Remote access](/gateway/remote), [Tailscale](/gateway/tailscale), [Security](/gateway/security)", "code_samples": [ { "code": "## Profiles\n\nProfiles are named browser routing configs. In practice:\n\n* `openclaw`: launches/attaches to a dedicated OpenClaw-managed Chrome instance (isolated user data dir).\n* `chrome`: controls your existing Chrome tab(s) via the Chrome extension relay.", "language": "unknown" }, { "code": "Use a specific profile:", "language": "unknown" }, { "code": "## Tabs", "language": "unknown" }, { "code": "## Snapshot / screenshot / actions\n\nSnapshot:", "language": "unknown" }, { "code": "Screenshot:", "language": "unknown" }, { "code": "Navigate/click/type (ref-based UI automation):", "language": "unknown" }, { "code": "## Chrome extension relay (attach via toolbar button)\n\nThis mode lets the agent control an existing Chrome tab that you attach manually (it does not auto-attach).\n\nInstall the unpacked extension to a stable path:", "language": "unknown" } ], "headings": [ { "level": "h2", "text": "Common flags", "id": "common-flags" }, { "level": "h2", "text": "Quick start (local)", "id": "quick-start-(local)" }, { "level": "h2", "text": "Profiles", "id": "profiles" }, { "level": "h2", "text": "Tabs", "id": "tabs" }, { "level": "h2", "text": "Snapshot / screenshot / actions", "id": "snapshot-/-screenshot-/-actions" }, { "level": "h2", "text": "Chrome extension relay (attach via toolbar button)", "id": "chrome-extension-relay-(attach-via-toolbar-button)" }, { "level": "h2", "text": "Remote browser control (node host proxy)", "id": "remote-browser-control-(node-host-proxy)" } ], "url": "llms-txt#`openclaw-browser`", "links": [] }