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 }
}
}
}