Install
openclaw skills install stable-browserSet up reliable browser automation using Chrome DevTools Protocol (CDP) instead of the flaky browser extension relay. Use when browser relay keeps disconnecting, throwing WebSocket 403 errors, or when you need stable headless/headed browser control for web scraping, form filling, social media posting, or any browser automation task. Replaces profile="chrome" with a rock-solid CDP connection.
openclaw skills install stable-browserReplace the unreliable browser extension relay with a direct Chrome DevTools Protocol connection.
The OpenClaw browser extension relay (profile="chrome") frequently breaks:
Launch Chrome with a debug port and connect directly. No extension needed.
Run the setup script to configure everything:
bash scripts/setup-cdp.sh
This will:
~/.chrome-debug-profilebrowser.cdpUrl to your OpenClaw configIf you prefer to set things up manually, see references/manual-setup.md.
After setup, always use profile="openclaw" (not profile="chrome"):
browser(action="snapshot", profile="openclaw")
browser(action="navigate", profile="openclaw", targetUrl="https://example.com")
browser(action="screenshot", profile="openclaw")
| Feature | Extension Relay | CDP Direct |
|---|---|---|
| Stability | Frequent disconnects | Rock solid |
| Setup | Install extension + attach tab | One-time script |
| Auth/Cookies | Shares your main Chrome | Dedicated profile |
| Speed | Extra hop through extension | Direct protocol |
| Headless | No | Optional (--headless=new) |
The CDP browser uses ~/.chrome-debug-profile — a separate Chrome profile. This means:
targetId to pin a specific tab--headless=new to the launch command for invisible operationpkill -f 'remote-debugging-port=9222' && sleep 1 && bash scripts/setup-cdp.shsetup-cdp.sh or launch manuallylsof -i :9222pkill -f chrome-debug-profile~/.chrome-debug-profile and re-run setup