OpenClaw Browser Configuration Guide

Three Types of Browser Profile

Type Description Configuration
openclaw-managed Standalone Chromium instance with its own user data dir + CDP port cdpPort: 18800, etc.
remote Connects to a remote CDP URL (Chromium running on another machine) cdpUrl: "http://192.168.65.254:9222"
existing-session Takes over the user’s existing Chrome profile via Chrome DevTools MCP auto-connect driver: "existing-session"

openclaw-managed example

"profiles": {
  "openclaw": { "cdpPort": 18800, "color": "#FF4500" },
  "work": { "cdpPort": 18801, "color": "#0066CC" }
}

openclaw and work are both standalone, temporary, isolated profiles — you can launch Chrome directly, with no need to kill existing processes.

remote example

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

Suited to machines like the Mac Studio that already have Chrome running.

existing-session example (user profile)

"profiles": {
  "user": {
    "driver": "existing-session",
    "attachOnly": true,
    "color": "#00AA00"
  }
}

This means going over via MCP; the user has to enable agent control in Chrome DevTools MCP themselves.

Global Configuration Parameters

"browser": {
  "enabled": true,
  "ssrfPolicy": {
    "dangerouslyAllowPrivateNetwork": true
  },
  "remoteCdpTimeoutMs": 1500,
  "remoteCdpHandshakeTimeoutMs": 3000,
  "defaultProfile": "openclaw",
  "color": "#FF4500",
  "headless": false,
  "noSandbox": false,
  "attachOnly": false,
  "executablePath": "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome",
  "profiles": { ... }
}

Granting an Agent Permission to Use the Browser Tool

By default a tool’s profile is coding, which does not include browser. You need to authorize it separately in the agents config using alsoAllow:

"agents": {
  "defaults": {
    "workspace": "/Users/rhett/.openclaw/workspace",
    "model": { "primary": "minimax/MiniMax-M2.7" }
  },
  "list": [
    {
      "id": "main",
      "tools": {
        "profile": "full",
        "alsoAllow": ["browser"]
      }
    }
  ]
}

profile: "full" together with alsoAllow: ["browser"] lets that agent call the browser tool.

Tool Configuration Name Reference

Each tool invocation is exposed by plugins.entries; the browser tool requires plugins.entries.browser.enabled: true.

Full Configuration Example

{
  "agents": {
    "defaults": { ... },
    "list": [{ "id": "main", "tools": { "profile": "full", "alsoAllow": ["browser"] } }]
  },
  "browser": {
    "enabled": true,
    "defaultProfile": "openclaw",
    "executablePath": "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome",
    "profiles": {
      "openclaw": { "cdpPort": 18800, "color": "#FF4500" },
      "work": { "cdpPort": 18801, "color": "#0066CC" },
      "user": { "driver": "existing-session", "attachOnly": true, "color": "#00AA00" }
    }
  },
  "plugins": {
    "entries": {
      "browser": { "enabled": true }
    }
  }
}