openclaw - 💡(How to fix) Fix [Bug]: browser endpoint blocked by policy with remote CDP profile (browserless/chrome) — intermittent and inconsistent

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

Error Message

  • CLI workaround (openclaw browser --profile browserless open <url>) works intermittently but also fails with same error after multiple calls

Root Cause

Additional Observations

  • openclaw sandbox explain shows browser in allow list ✓
  • tools.alsoAllow: ["browser"] set globally and per agent ✓
  • Manual CDP connectivity confirmed working ✓
  • Internal browser control port (gateway.port + 2) does not bind in remote CDP / attachOnly mode — suspected root cause: policy check targets this unreachable local endpoint

Fix Action

Fix / Workaround

Additional observations

  • openclaw browser status shows profile: browserless, running: true, cdpUrl: ws://browserless:3000/...
  • Manual curl to Browserless CDP works: curl http://browserless:3000/json/version?token=*** returns correct response ✓
  • openclaw sandbox explain shows browser in allow list ✓
  • tools.alsoAllow: ["browser"] set globally and per agent ✓
  • CLI workaround (openclaw browser --profile browserless open <url>) works intermittently but also fails with same error after multiple calls
  • Behavior is inconsistent: same command succeeds on one URL, fails on another 5 minutes later without any config change

The behavior is intermittent: the CLI workaround (openclaw browser --profile browserless open <url>) occasionally succeeds but fails again after a few calls without any config change.

Code Example

"browser": {
  "enabled": true,
  "cdpUrl": "ws://browserless:3000?token=***",
  "attachOnly": true,
  "defaultProfile": "browserless",
  "remoteCdpTimeoutMs": 5000,
  "remoteCdpHandshakeTimeoutMs": 8000,
  "profiles": {
    "browserless": {
      "cdpUrl": "ws://browserless:3000?token=***",
      "color": "#00AA00"
    }
  }
}

---
RAW_BUFFERClick to expand / collapse

Bug type

Behavior bug (incorrect output/state without crash)

Beta release blocker

No

Summary

Environment

  • OpenClaw: 2026.5.28
  • OS: Linux (Debian, Docker container)
  • Browser container: browserless/chrome:latest
  • Channel: Telegram
  • Browser routing: OpenClaw Gateway → internal browser plugin → ws://browserless:3000 (Docker network) → browserless/chrome:latest → Chrome CDP

Config

"browser": {
  "enabled": true,
  "cdpUrl": "ws://browserless:3000?token=***",
  "attachOnly": true,
  "defaultProfile": "browserless",
  "remoteCdpTimeoutMs": 5000,
  "remoteCdpHandshakeTimeoutMs": 8000,
  "profiles": {
    "browserless": {
      "cdpUrl": "ws://browserless:3000?token=***",
      "color": "#00AA00"
    }
  }
}

Behavior

The browser tool and CLI both fail with browser endpoint blocked by policy when using a remote CDP profile.

Browserless logs show Chrome starts successfully and CDP WebSocket connects, but OpenClaw closes the session immediately (~300-700ms) without sending any navigation commands:

browserless:job: Inbound WebSocket request browserless:job: Starting session browserless:job: Proxying request to /devtools/browser route browserless:job: Browser not needed, closing ← closes without any Page.navigate

Gateway log: [browser/service] Browser control service ready (profiles=3) [tools] browser failed: browser endpoint blocked by policy raw_params={"action":"open","url":"https://example.com"}/

Additional observations

  • openclaw browser status shows profile: browserless, running: true, cdpUrl: ws://browserless:3000/...
  • Manual curl to Browserless CDP works: curl http://browserless:3000/json/version?token=*** returns correct response ✓
  • openclaw sandbox explain shows browser in allow list ✓
  • tools.alsoAllow: ["browser"] set globally and per agent ✓
  • CLI workaround (openclaw browser --profile browserless open <url>) works intermittently but also fails with same error after multiple calls
  • Behavior is inconsistent: same command succeeds on one URL, fails on another 5 minutes later without any config change

Expected behavior

browser open <url> should navigate to the URL using the remote CDP profile without being blocked by internal policy.

Suspected cause

The internal browser control service HTTP endpoint (gateway.port + 2) does not bind when using remote CDP / attachOnly mode. The policy check happens against this local endpoint which is unreachable, causing all browser actions to fail regardless of CDP connectivity.

Steps to reproduce

  1. Set up browserless/chrome:latest as a separate Docker container in the same network as OpenClaw
  2. Configure OpenClaw with a remote CDP profile pointing to ws://browserless:3000?token=***
  3. Set attachOnly: true, defaultProfile: "browserless"
  4. Add browser to tools.alsoAllow globally and per agent
  5. Verify CDP is reachable: curl http://browserless:3000/json/version?token=*** → returns valid response
  6. Verify openclaw browser status shows running: true, profile: browserless
  7. Ask the agent to open a URL or run: openclaw browser --profile browserless open https://example.com

Expected behavior

OpenClaw connects to the remote Browserless CDP endpoint, navigates to the given URL, and executes browser actions (screenshot, snapshot, etc.) successfully.

Actual behavior

The command fails with: GatewayClientRequestError: browser endpoint blocked by policy

Browserless logs show Chrome starts and the CDP WebSocket connects, but OpenClaw closes the session immediately (~300-700ms) without sending any navigation commands: browserless:job: Inbound WebSocket request browserless:job: Starting session browserless:job: Proxying request to /devtools/browser route: ws://127.0.0.1:XXXXX/devtools/browser/... browserless:job: Browser not needed, closing ← no Page.navigate ever sent

Gateway log: [browser/service] Browser control service ready (profiles=3) [tools] browser failed: browser endpoint blocked by policy raw_params={"action":"open","url":"https://example.com"}/

The behavior is intermittent: the CLI workaround (openclaw browser --profile browserless open <url>) occasionally succeeds but fails again after a few calls without any config change.

Additional Observations

  • openclaw sandbox explain shows browser in allow list ✓
  • tools.alsoAllow: ["browser"] set globally and per agent ✓
  • Manual CDP connectivity confirmed working ✓
  • Internal browser control port (gateway.port + 2) does not bind in remote CDP / attachOnly mode — suspected root cause: policy check targets this unreachable local endpoint

Suspected Cause

The internal browser control service HTTP endpoint (gateway.port + 2) does not bind when using attachOnly: true with a remote CDP profile. The policy check runs against this local endpoint, which is unreachable, causing all browser actions to fail regardless of actual CDP connectivity.

OpenClaw version

v2026.5.28

Operating system

Debian 12

Install method

No response

Model

deepseek/deepseek-chat, anthropic/claude-sonnet-4-5, google/gemini-2.5-flash - Same behavior across all models

Provider / routing chain

OpenClaw (Docker) → OpenRouter → respective model provider

Additional provider/model setup details

No response

Logs, screenshots, and evidence

Impact and severity

No response

Additional information

No response

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

FAQ

Expected behavior

OpenClaw connects to the remote Browserless CDP endpoint, navigates to the given URL, and executes browser actions (screenshot, snapshot, etc.) successfully.

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

openclaw - 💡(How to fix) Fix [Bug]: browser endpoint blocked by policy with remote CDP profile (browserless/chrome) — intermittent and inconsistent