Search

PythonReactSEOPDF
OpenClaw

browser-setup

Install and configure headless Chrome for OpenClaw browser tool in environments without root/sudo access (cloud containers, VPS, sandboxed hosts). Use when: (1) browser tool fails with No supported browser found, (2) Chrome crashes with Page crashed or missing library errors, (3) setting up browser automation on a fresh server or container, (4) user asks to install or fix the browser for OpenClaw. NOT for macOS/Windows desktops with Chrome already installed, or Chrome extension relay setup.

huangdawei0 source installs☆ 0 Repository stars

Installation

Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.

SkillHub CLI

skillhub install huangdawei/browser-setup

Inspect the source and compatibility requirements, then follow its installation steps.

Give your agent the source link and ask it to inspect instructions and dependencies before explaining the installation steps.

View source ↗Guides

Skill instructions

Browser Setup (No-Root Linux)

Install headless Google Chrome for OpenClaw's browser tool on Linux without root access.

When to Use

  • browser start fails with "No supported browser found"
  • Chrome starts but pages crash ("Page crashed", "Target page closed")
  • Running on a cloud container, VPS, or sandboxed environment without sudo

Quick Start

bash scripts/install-browser.sh

The script downloads Chrome, extracts ~40 shared library packages, installs Liberation fonts, creates a wrapper script, and verifies the installation. Takes ~2 minutes.

Then configure OpenClaw:

openclaw config set browser.executablePath "$HOME/local-libs/chrome-wrapper.sh"
openclaw config set browser.headless true
openclaw config set browser.noSandbox true
openclaw config set browser.attachOnly true

Set the CDP port for the openclaw profile (edit ~/data/openclaw.json or equivalent config):

{
  "browser": {
    "executablePath": "~/local-libs/chrome-wrapper.sh",
    "headless": true,
    "noSandbox": true,
    "attachOnly": true,
    "profiles": {
      "openclaw": { "cdpPort": 18800, "color": "#FF4500" }
    }
  }
}

Critical: attachOnly Must Be true

OpenClaw has two internal paths for browser operations:

  • CDP path (start/stop/tabs): communicates directly with Chrome's CDP port
  • Playwright path (navigate/snapshot/act): uses playwright-core bundled with OpenClaw

When attachOnly: false, Playwright calls launchOpenClawChrome() which checks ensurePortAvailable(cdpPort). Since Chrome is already listening on that port, it throws PortInUseError on every navigate/snapshot/act call.

When attachOnly: true, Playwright uses connectOverCDP() to attach to the running Chrome instance. No port conflict.

Always set attachOnly: true when using a wrapper script or manually-started Chrome.

Usage Flow

Starting Chrome

Chrome must be started before OpenClaw can use it. Start it manually:

~/local-libs/c...

Source information

Source
github
Repository
openclaw/skills
Path
skills/huangdawei/browser-setup
Version
—
Commit
84ae1d45c9ee90cb23c03a9860ee9d70728c1a40
Classification source
rules
Status
active
Visibility
public

These signals come from indexed source analysis and may lag behind changes. Check the current source files.

Extracted content

SKILL.md
# Browser Setup (No-Root Linux)

Install headless Google Chrome for OpenClaw's `browser` tool on Linux without root access.

## When to Use

- `browser start` fails with "No supported browser found"
- Chrome starts but pages crash ("Page crashed", "Target page closed")
- Running on a cloud container, VPS, or sandboxed environment without `sudo`

## Quick Start

```bash
bash scripts/install-browser.sh
```

The script downloads Chrome, extracts ~40 shared library packages, installs Liberation fonts, creates a wrapper script, and verifies the installation. Takes ~2 minutes.

Then configure OpenClaw:

```bash
openclaw config set browser.executablePath "$HOME/local-libs/chrome-wrapper.sh"
openclaw config set browser.headless true
openclaw config set browser.noSandbox true
openclaw config set browser.attachOnly true
```

Set the CDP port for the openclaw profile (edit `~/data/openclaw.json` or equivalent config):

```json
{
  "browser": {
    "executablePath": "~/local-libs/chrome-wrapper.sh",
    "headless": true,
    "noSandbox": true,
    "attachOnly": true,
    "profiles": {
      "openclaw": { "cdpPort": 18800, "color": "#FF4500" }
    }
  }
}
```

## Critical: attachOnly Must Be true

OpenClaw has two internal paths for browser operations:

- **CDP path** (start/stop/tabs): communicates directly with Chrome's CDP port
- **Playwright path** (navigate/snapshot/act): uses `playwright-core` bundled with OpenClaw

When `attachOnly: false`, Playwright calls `launchOpenClawChrome()` which checks `ensurePortAvailable(cdpPort)`. Since Chrome is already listening on that port, it throws `PortInUseError` on every navigate/snapshot/act call.

When `attachOnly: true`, Playwright uses `connectOverCDP()` to attach to the running Chrome instance. No port conflict.

**Always set `attachOnly: true` when using a wrapper script or manually-started Chrome.**

## Usage Flow

### Starting Chrome

Chrome must be started before OpenClaw can use it. Start it manually:

```bash
~/local-libs/c...

Related skills

OpenClaw

openbotx

openbotx

An open-source platform for orchestrating AI agents — secure, simple, and built for everyone. Multi-agent, real-time task board, web control panel, skills system, browser automation, multi-provider, scheduler,...

OpenClaw

zsxq-digest

sealiu1997

OpenClaw skill for 知识星球 / ZSXQ digests with token-first auth and browser recovery.

OpenClaw

browser-use-skill

abczsl520

🌐 OpenClaw skill for Browser-Use — AI-powered browser automation for complex multi-step workflows (login, form filling, scraping, posting)