Caricamento in corso...
Caricamento in corso...
Last synced: Today, 22:00
Technical reference for the OpenClaw framework. Real-time synchronization with the official documentation engine.
Use this file to discover all available pages before exploring further.
OpenClaw's browser control server fails to launch Chrome/Brave/Edge/Chromium with the error:
text{"error":"Error: Failed to start Chrome CDP on port 18800 for profile \"openclaw\"."}
On Ubuntu (and many Linux distros), the default Chromium installation is a snap package. Snap's AppArmor confinement interferes with how OpenClaw spawns and monitors the browser process.
The
apt install chromiumtextNote, selecting 'chromium-browser' instead of 'chromium' chromium-browser is already the newest version (2:1snap1-0ubuntu2).
This is NOT a real browser - it's just a wrapper.
Other common Linux launch failures:
The profile appears to be in use by another Chromium processSingleton*Missing X server or $DISPLAYDISPLAYWAYLAND_DISPLAYOPENCLAW_BROWSER_HEADLESS=0browser.headless: falsebrowser.profiles.<name>.headless: falseOPENCLAW_BROWSER_HEADLESS=1Xvfbopenclaw browser start --headlessInstall the official Google Chrome
.debbashwget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb sudo dpkg -i google-chrome-stable_current_amd64.deb sudo apt --fix-broken install -y # if there are dependency errors
Then update your OpenClaw config (
~/.openclaw/openclaw.jsonjson{ "browser": { "enabled": true, "executablePath": "/usr/bin/google-chrome-stable", "headless": true, "noSandbox": true } }
If you must use snap Chromium, configure OpenClaw to attach to a manually-started browser:
json{ "browser": { "enabled": true, "attachOnly": true, "headless": true, "noSandbox": true } }
bashchromium-browser --headless --no-sandbox --disable-gpu \ --remote-debugging-port=18800 \ --user-data-dir=$HOME/.openclaw/browser/openclaw/user-data \ about:blank &
ini# ~/.config/systemd/user/openclaw-browser.service [Unit] Description=OpenClaw Browser (Chrome CDP) After=network.target [Service] ExecStart=/snap/bin/chromium --headless --no-sandbox --disable-gpu --remote-debugging-port=18800 --user-data-dir=%h/.openclaw/browser/openclaw/user-data about:blank Restart=on-failure RestartSec=5 [Install] WantedBy=default.target
Enable with:
systemctl --user enable --now openclaw-browser.serviceCheck status:
bashcurl -s http://127.0.0.1:18791/ | jq '{running, pid, chosenBrowser}'
Test browsing:
bashcurl -s -X POST http://127.0.0.1:18791/start curl -s http://127.0.0.1:18791/tabs
| Option | Description | Default |
|---|---|---|
text browser.enabled | Enable browser control | text true |
text browser.executablePath | Path to a Chromium-based browser binary (Chrome/Brave/Edge/Chromium) | auto-detected (prefers default browser when Chromium-based) |
text browser.headless | Run without GUI | text false |
text OPENCLAW_BROWSER_HEADLESS | Per-process override for local managed browser headless mode | unset |
text browser.noSandbox | Add text --no-sandbox | text false |
text browser.attachOnly | Don't launch browser, only attach to existing | text false |
text browser.cdpPort | Chrome DevTools Protocol port | text 18800 |
text browser.localLaunchTimeoutMs | Local managed Chrome discovery timeout | text 15000 |
text browser.localCdpReadyTimeoutMs | Local managed post-launch CDP readiness timeout | text 8000 |
On Raspberry Pi, older VPS hosts, or slow storage, raise
browser.localLaunchTimeoutMsbrowser.localCdpReadyTimeoutMsopenclaw browser startnot reachable after start120000You're using an
existing-sessionFix options:
openclaw browser start --browser-profile openclawbrowser.defaultProfile: "openclaw"--browser-profile userNotes:
useruserexisting-sessionwait --load networkidleresponsebodyopenclawcdpPortcdpUrlhttp://https://ws://wss:///json/version© 2024 TaskFlow Mirror
Powered by TaskFlow Sync Engine