other

Browser (openclaw-managed)

2026-04-23

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:3

summary: "Complete reference for every OpenClaw config key, defaults, and channel settings"

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:11

Every field available in ~/.openclaw/openclaw.json. For a task-oriented overview, see [Configuration](/gateway/configuration).

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:13

Config format is JSON5 (comments + trailing commas allowed). All fields are optional — OpenClaw uses safe defaults when omitted.

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:136

// authDir: "~/.openclaw/credentials/whatsapp/biz",

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:146

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:207

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:243

dm: { enabled: true, groupEnabled: false, groupChannels: ["openclaw-dm"] },

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:246

slug: "friends-of-openclaw",

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:322

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:405

name: "openclaw",

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:443

Mattermost ships as a plugin: openclaw plugins install @openclaw/mattermost.

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:474

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:531

OpenClaw spawns imsg rpc (JSON-RPC over stdio). No daemon or port required.

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:687

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:689

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:712

list: [{ id: "main", groupChat: { mentionPatterns: ["@openclaw", "openclaw"] } }],

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:754

groupChat: { mentionPatterns: ["reisponde", "@openclaw"] },

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:789

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:803

Default: ~/.openclaw/workspace.

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:807

agents: { defaults: { workspace: "~/.openclaw/workspace" } },

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:813

Optional repository root shown in the system prompt's Runtime line. If unset, OpenClaw auto-detects by walking upward from the workspace.

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:817

agents: { defaults: { repoRoot: "~/Projects/openclaw" } },

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:958

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:959

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:1080

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:1186

workspaceRoot: "~/.openclaw/sandboxes",

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:1188

image: "openclaw-sandbox:bookworm-slim",

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:1189

containerPrefix: "openclaw-sbx-",

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:1207

apparmorProfile: "openclaw-sandbox",

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:1215

workspaceRoot: "/tmp/openclaw-sandboxes",

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:1228

image: "openclaw-sandbox-browser:bookworm-slim",

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:1229

network: "openclaw-sandbox-browser",

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:1230

cdpPort: 9222,

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:1231

cdpSourceRange: "172.21.0.1/32",

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:1287

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:1307

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:1327

from: "openclaw",

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:1348

In remote mode, host-local edits made outside OpenClaw are not synced into the sandbox automatically after the seed step.

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:1361

Sandboxed browser (sandbox.browser.enabled): Chromium + CDP in a container. noVNC URL injected into system prompt. Does not require browser.enabled in openclaw.json.

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:1362

noVNC observer access uses VNC auth by default and OpenClaw emits a short-lived token URL (instead of exposing the password in the shared URL).

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:1365

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:1366

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:1370

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:1388

OPENCLAW_BROWSER_DISABLE_GRAPHICS_FLAGS=0 if WebGL/3D usage requires it.

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:1389

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:1392

OPENCLAW_BROWSER_RENDERER_PROCESS_LIMIT=<N>; set 0 to use Chromium's

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:1419

workspace: "~/.openclaw/workspace",

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:1420

agentDir: "~/.openclaw/agents/main/agent",

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:1432

groupChat: { mentionPatterns: ["@openclaw"] },

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:1440

cwd: "/workspace/openclaw",

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:1480

{ id: "home", default: true, workspace: "~/.openclaw/workspace-home" },

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:1481

{ id: "work", workspace: "~/.openclaw/workspace-work" },

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:1511

For type: "acp" entries, OpenClaw resolves by exact conversation identity (match.channel + account + match.peer.id) and does not use the route binding tier order above.

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:1523

workspace: "~/.openclaw/workspace-personal",

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:1541

workspace: "~/.openclaw/workspace-family",

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:1570

workspace: "~/.openclaw/workspace-public",

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:1633

store: "~/.openclaw/agents/{agentId}/sessions/sessions.json",

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:1673

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:1768

prefsPath: "~/.openclaw/settings/tts.json",

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:1801

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:1862

| group:openclaw | All built-in tools (excludes provider plugins) |

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:1909

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:2106

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:2137

OpenClaw uses the built-in model catalog. Add custom providers via models.providers in config or ~/.openclaw/agents/<agentId>/agent/models.json.

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:2166

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:2189

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:2251

Set OPENCODE_API_KEY (or OPENCODE_ZEN_API_KEY). Use opencode/... refs for the Zen catalog or opencode-go/... refs for the Go catalog. Shortcut: openclaw onboard --auth-choice opencode-zen or openclaw onboard --auth-choice opencode-go.

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:2268

Set ZAI_API_KEY. z.ai/* and z-ai/* are accepted aliases. Shortcut: openclaw onboard --auth-choice zai-api-key.

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:2311

For the China endpoint: baseUrl: "https://api.moonshot.cn/v1" or openclaw onboard --auth-choice moonshot-api-key-cn.

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:2329

Anthropic-compatible, built-in provider. Shortcut: openclaw onboard --auth-choice kimi-code-api-key.

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:2368

Base URL should omit /v1 (Anthropic client appends it). Shortcut: openclaw onboard --auth-choice synthetic-api-key.

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:2408

Set MINIMAX_API_KEY. Shortcut: openclaw onboard --auth-choice minimax-api.

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:2476

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:2477

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:2485

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:2486

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:2489

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:2512

openclaw: { cdpPort: 18800, color: "#FF4500" },

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:2513

work: { cdpPort: 18801, color: "#0066CC" },

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:2521

remote: { cdpUrl: "http://10.0.0.42:9222", color: "#00AA00" },

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:2536

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:2540

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:2557

name: "OpenClaw",

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:2580

// password: "your-password", // or OPENCLAW_GATEWAY_PASSWORD

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:2596

basePath: "/openclaw",

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:2633

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:2649

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:2654

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:2655

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:2662

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:2681

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:2688

OPENCLAW_CONFIG_PATH=~/.openclaw/a.json \

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:2689

OPENCLAW_STATE_DIR=~/.openclaw-a \

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:2690

openclaw gateway --port 19001

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:2693

Convenience flags: --dev (uses ~/.openclaw-dev + port 19001), --profile <name> (uses ~/.openclaw-<name>).

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:2705

certPath: "/etc/openclaw/tls/server.crt",

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:2706

keyPath: "/etc/openclaw/tls/server.key",

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:2707

caPath: "/etc/openclaw/tls/ca-bundle.crt",

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:2757

transformsDir: "~/.openclaw/hooks/transforms",

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:2776

Auth: Authorization: Bearer <token> or x-openclaw-token: <token>.

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:2808

account: "openclaw@gmail.com",

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:2825

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:2835

root: "~/.openclaw/workspace/canvas",

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:2837

// enabled: false, // or OPENCLAW_SKIP_CANVAS_HOST=1

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:2843

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:2844

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:2851

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:2873

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:2885

Writes a unicast DNS-SD zone under ~/.openclaw/dns/. For cross-network discovery, pair with a DNS server (CoreDNS recommended) + Tailscale split DNS.

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:2887

Setup: openclaw dns setup --apply.

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:2911

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:2922

auth: { token: "${OPENCLAW_GATEWAY_TOKEN}" },

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:2957

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:2969

path: "~/.openclaw/secrets.json",

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:2975

command: "/usr/local/bin/openclaw-vault-resolver",

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:3020

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:3058

file: "/tmp/openclaw/openclaw.log",

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:3067

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:3088

serviceName: "openclaw-gateway",

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:3209

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:3211

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:3241

Current builds no longer include the TCP bridge. Nodes connect over the Gateway WebSocket. bridge.* keys are no longer part of the config schema (validation fails until removed; openclaw doctor --fix can strip unknown keys).

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:3329

See [Cron Jobs](/automation/cron-jobs). Isolated cron executions are tracked as [background tasks](/automation/tasks).

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:3367

// ~/.openclaw/openclaw.json

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration-reference.md:3383

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration.md:2

summary: "Configuration overview: common tasks, quick setup, and links to the full reference"

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration.md:4

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration.md:12

OpenClaw reads an optional <Tooltip tip="JSON5 supports comments and trailing commas">JSON5</Tooltip> config from ~/.openclaw/openclaw.json.

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration.md:14

If the file is missing, OpenClaw uses safe defaults. Common reasons to add a config:

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration.md:23

New to configuration? Start with openclaw onboard for interactive setup, or check out the [Configuration Examples](/gateway/configuration-examples) guide for complete copy-paste configs.

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration.md:29

// ~/.openclaw/openclaw.json

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration.md:31

agents: { defaults: { workspace: "~/.openclaw/workspace" } },

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration.md:41

openclaw onboard # full onboarding flow

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration.md:42

openclaw configure # config wizard

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration.md:47

openclaw config get agents.defaults.workspace

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration.md:48

openclaw config set agents.defaults.heartbeat.every "2h"

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration.md:49

openclaw config unset plugins.entries.brave.config.webSearch.apiKey

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration.md:57

Edit ~/.openclaw/openclaw.json directly. The Gateway watches the file and applies changes automatically (see [hot reload](#config-hot-reload)).

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration.md:64

OpenClaw only accepts configurations that fully match the schema. Unknown keys, malformed types, or invalid values cause the Gateway to refuse to start. The only root-level exception is $schema (string), so editors can attach JSON Schema metadata.

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration.md:70

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration.md:71

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration.md:72

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration.md:74

Common tasks

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration.md:159

mentionPatterns: ["@openclaw", "openclaw"],

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration.md:259

Relay-backed push is configured in openclaw.json.

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration.md:282

openclaw config set gateway.push.apns.relay.baseUrl https://relay.example.com

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration.md:308

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration.md:309

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration.md:311

See [iOS App](/platforms/ios#relay-backed-push-for-official-builds) for the end-to-end flow and [Authentication and trust flow](/platforms/ios#authentication-and-trust-flow) for the relay security model.

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration.md:381

Security note:

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration.md:397

{ id: "home", default: true, workspace: "~/.openclaw/workspace-home" },

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration.md:398

{ id: "work", workspace: "~/.openclaw/workspace-work" },

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration.md:416

// ~/.openclaw/openclaw.json

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration.md:438

The Gateway watches ~/.openclaw/openclaw.json and applies changes automatically — no manual restart needed for most settings.

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration.md:487

config.apply replaces the entire config. Use config.patch for partial updates, or openclaw config set for single keys.

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration.md:501

openclaw gateway call config.get --params '{}' # capture payload.hash

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration.md:502

openclaw gateway call config.apply --params '{

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration.md:503

"raw": "{ agents: { defaults: { workspace: \"~/.openclaw/workspace\" } } }",

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration.md:527

openclaw gateway call config.patch --params '{

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration.md:538

OpenClaw reads env vars from the parent process plus:

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration.md:541

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration.md:555

If enabled and expected keys aren't set, OpenClaw runs your login shell and imports only the missing keys:

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration.md:565

Env var equivalent: OPENCLAW_LOAD_SHELL_ENV=1

/opt/homebrew/lib/node_modules/openclaw/docs/gateway/configuration.md:573

gateway: { auth: { token: "${OPENCLAW_GATEWAY_TOKEN}" } },

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:5

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:7

title: "Browser (OpenClaw-managed)"

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:10

Browser (openclaw-managed)

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:12

OpenClaw can run a dedicated Chrome/Brave/Edge/Chromium profile that the agent controls.

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:19

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:25

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:28

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:36

openclaw browser --browser-profile openclaw status

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:37

openclaw browser --browser-profile openclaw start

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:38

openclaw browser --browser-profile openclaw open https://example.com

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:39

openclaw browser --browser-profile openclaw snapshot

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:45

If openclaw browser is missing entirely, or the agent says the browser tool

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:52

OpenClaw's plugin system:

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:72

If you turn off only the plugin, the bundled browser CLI (openclaw browser),

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:88

If openclaw browser suddenly becomes an unknown command after an upgrade, or

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:121

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:125

Profiles: openclaw vs user

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:127

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:133

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:134

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:138

Set browser.defaultProfile: "openclaw" if you want managed mode by default.

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:142

Browser settings live in ~/.openclaw/openclaw.json.

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:154

// cdpUrl: "http://127.0.0.1:18792", // legacy single-profile override

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:155

remoteCdpTimeoutMs: 1500, // remote CDP HTTP timeout (ms)

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:156

remoteCdpHandshakeTimeoutMs: 3000, // remote CDP WebSocket handshake timeout (ms)

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:157

defaultProfile: "openclaw",

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:164

openclaw: { cdpPort: 18800, color: "#FF4500" },

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:165

work: { cdpPort: 18801, color: "#0066CC" },

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:177

remote: { cdpUrl: "http://10.0.0.42:9222", color: "#00AA00" },

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:187

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:189

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:190

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:191

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:193

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:198

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:200

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:201

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:202

not set cdpUrl for that driver.

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:209

OpenClaw uses it automatically. Set browser.executablePath to override

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:215

openclaw config set browser.executablePath "/usr/bin/google-chrome"

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:245

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:246

attach to a remote Chromium-based browser. In this case, OpenClaw will not launch a local browser.

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:248

Remote CDP URLs can include auth:

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:253

OpenClaw preserves the auth when calling /json/* endpoints and when connecting

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:254

to the CDP WebSocket. Prefer environment variables or secrets managers for

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:259

If you run a node host on the machine that has your browser, OpenClaw can

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:268

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:273

Browserless (hosted remote CDP)

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:276

CDP connection URLs over HTTPS and WebSocket. OpenClaw can use either form, but

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:287

remoteCdpTimeoutMs: 2000,

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:288

remoteCdpHandshakeTimeoutMs: 4000,

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:291

cdpUrl: "wss://production-sfo.browserless.io?token=<BROWSERLESS_API_KEY>",

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:304

wss:// for a direct CDP connection or keep the HTTPS URL and let OpenClaw

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:307

Direct WebSocket CDP providers

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:310

the standard HTTP-based CDP discovery (/json/version). OpenClaw supports both:

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:312

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:314

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:331

remoteCdpTimeoutMs: 3000,

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:332

remoteCdpHandshakeTimeoutMs: 5000,

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:335

cdpUrl: "wss://connect.browserbase.com?apiKey=<BROWSERBASE_API_KEY>",

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:355

Security

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:360

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:362

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:364

Remote CDP tips:

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:371

OpenClaw supports multiple named profiles (routing configs). Profiles can be:

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:373

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:374

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:379

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:382

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:389

OpenClaw can also attach to a running Chromium-based browser profile through the

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:429

  1. Open that browser's inspect page for remote debugging.

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:430

  1. Enable remote debugging.

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:431

  1. Keep the browser running and approve the connection prompt when OpenClaw attaches.

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:442

openclaw browser --browser-profile user start

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:443

openclaw browser --browser-profile user status

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:444

openclaw browser --browser-profile user tabs

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:445

openclaw browser --browser-profile user snapshot --format ai

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:459

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:461

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:463

enable browser-side remote debugging for you

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:467

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:475

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:477

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:479

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:480

userDataDir is set, OpenClaw passes it through to target that explicit

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:486

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:489

different network namespace, use remote CDP or a node host instead.

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:499

When launching locally, OpenClaw picks the first available:

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:537

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:543

error. ARIA snapshots and basic screenshots still work for openclaw-managed Chrome.

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:547

OpenClaw with browser support.

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:555

docker compose run --rm openclaw-cli \

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:561

OPENCLAW_HOME_VOLUME or a bind mount. See [Docker](/install/docker).

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:568

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:570

of CDP.

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:583

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:584

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:585

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:586

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:587

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:588

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:589

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:590

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:591

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:592

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:593

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:597

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:598

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:599

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:600

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:601

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:602

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:603

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:604

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:605

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:606

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:607

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:608

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:609

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:610

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:611

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:612

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:616

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:617

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:618

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:619

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:620

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:621

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:622

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:623

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:624

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:625

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:626

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:627

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:628

/opt/homebrew/lib/node_modules/openclaw/docs/tools/browser.md:629