stable-browser

Set 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.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "stable-browser" with this command: npx skills add jarvis563/stable-browser

Stable Browser

Replace the unreliable browser extension relay with a direct Chrome DevTools Protocol connection.

The Problem

The OpenClaw browser extension relay (profile="chrome") frequently breaks:

  • WebSocket 403 errors
  • Port confusion (gateway port vs relay port)
  • Dropped connections mid-automation
  • "Can't reach browser control service" errors
  • Badge/tab attachment confusion

The Fix: Chrome CDP

Launch Chrome with a debug port and connect directly. No extension needed.

Quick Setup

Run the setup script to configure everything:

bash scripts/setup-cdp.sh

This will:

  1. Create a dedicated Chrome profile at ~/.chrome-debug-profile
  2. Add browser.cdpUrl to your OpenClaw config
  3. Create a LaunchAgent (macOS) so Chrome starts on login
  4. Verify the connection works

Manual Setup

If you prefer to set things up manually, see references/manual-setup.md.

Usage

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")

Key Differences from Extension Relay

FeatureExtension RelayCDP Direct
StabilityFrequent disconnectsRock solid
SetupInstall extension + attach tabOne-time script
Auth/CookiesShares your main ChromeDedicated profile
SpeedExtra hop through extensionDirect protocol
HeadlessNoOptional (--headless=new)

Dedicated Profile

The CDP browser uses ~/.chrome-debug-profile — a separate Chrome profile. This means:

  • Log into sites once, stays logged in
  • Your main Chrome is untouched
  • No extension conflicts
  • Survives Chrome updates

Tips

  • First run: Log into any sites you need (Google, GitHub, X, LinkedIn, etc.)
  • Multiple tabs: CDP manages all tabs — use targetId to pin a specific tab
  • Headless mode: Add --headless=new to the launch command for invisible operation
  • Port conflict: If port 9222 is taken, change it in both the launch command and config
  • Restart Chrome: pkill -f 'remote-debugging-port=9222' && sleep 1 && bash scripts/setup-cdp.sh

Troubleshooting

  • "Can't reach browser": Chrome isn't running with debug port. Run setup-cdp.sh or launch manually
  • Port 9222 in use: Another Chrome or process grabbed it. Kill it: lsof -i :9222
  • Stale session: Chrome crashed. Kill and restart: pkill -f chrome-debug-profile
  • Profile corruption: Delete ~/.chrome-debug-profile and re-run setup

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

Volcengine Supabase

Manage Volcengine Supabase workspaces, branches, SQL queries, migrations, Edge Functions, Storage, and TypeScript type generation via a local CLI. Run uv run...

Registry SourceRecently Updated
Coding

Mini Coder Max

Autonomous coding agent that systematically plans, implements, reviews, and delivers high-quality code. Handles tasks of any complexity by following a struct...

Registry SourceRecently Updated
Coding

Roblox

Manage Roblox game passes and developer products via Open Cloud API.

Registry SourceRecently Updated
Coding

Eval Driven Development

Add instrumentation, build golden datasets, write eval-based tests, run them, root-cause failures, and iterate — Ensure your Python LLM application works cor...

Registry SourceRecently Updated
3200yiouli