openclaw - 💡(How to fix) Fix [Bug]: All browser commands crash gateway with handshake timeout on Windows (2026.3.13) [1 comments, 2 participants]

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…
GitHub stats
openclaw/openclaw#49325Fetched 2026-04-08 00:56:27
View on GitHub
Comments
1
Participants
2
Timeline
1
Reactions
1
Author
Participants
Timeline (top)
commented ×1

All openclaw browser commands (start, open, navigate) cause the gateway to crash with a WebSocket handshake timeout. Read-only commands like tabs and profiles work fine.

Error Message

gateway connect failed: Error: gateway closed (1000): Error: gateway closed (1000 normal closure): no close reason

Root Cause

All openclaw browser commands (start, open, navigate) cause the gateway to crash with a WebSocket handshake timeout. Read-only commands like tabs and profiles work fine.

Code Example

gateway connect failed: Error: gateway closed (1000):
Error: gateway closed (1000 normal closure): no close reason

---

{"subsystem":"gateway/ws"}: handshake timeout conn=... remote=127.0.0.1
{"subsystem":"gateway/ws"}: closed before connect... cause=handshake-timeout, durationMs=3793, handshakeMs=3002
RAW_BUFFERClick to expand / collapse

Bug type

Runtime crash

Summary

All openclaw browser commands (start, open, navigate) cause the gateway to crash with a WebSocket handshake timeout. Read-only commands like tabs and profiles work fine.

Steps to reproduce

  1. Install OpenClaw 2026.3.13 on Windows 10 (build 26200, x64)
  2. Run gateway: openclaw gateway start
  3. Run any browser action: openclaw browser --browser-profile openclaw start
  4. Gateway closes connection with code 1000

Expected behavior

Browser starts and commands work (as they did on earlier versions).

Actual behavior

gateway connect failed: Error: gateway closed (1000):
Error: gateway closed (1000 normal closure): no close reason

Environment

  • OpenClaw: 2026.3.13 (61d171a)
  • OS: Windows 10 22H2 / Windows_NT 10.0.26200 (x64)
  • Node: v24.13.0
  • Playwright: 1.58.2 (chromium installed)
  • Gateway: ws://127.0.0.1:18789, bind=loopback
  • Profiles tested: openclaw (managed), user (existing-session via chrome-devtools-mcp) — both fail identically

What works

  • openclaw browser --browser-profile openclaw tabs (returns empty array)
  • openclaw browser --browser-profile openclaw profiles
  • openclaw gateway status (RPC probe ok)

What fails

  • openclaw browser --browser-profile openclaw start
  • openclaw browser --browser-profile openclaw open https://example.com
  • openclaw browser --browser-profile user start

Gateway logs (key lines)

{"subsystem":"gateway/ws"}: handshake timeout conn=... remote=127.0.0.1
{"subsystem":"gateway/ws"}: closed before connect... cause=handshake-timeout, durationMs=3793, handshakeMs=3002

The gateway receives the WebSocket connection but cannot complete the handshake within the 3s timeout. This happens for ALL browser actions, not just specific profiles.

Additional notes

  • chrome-devtools-mcp@latest runs fine standalone (npx chrome-devtools-mcp@latest --autoConnect)
  • Issue is not specific to existing-session driver — the isolated openclaw profile also crashes
  • Similar issues reported: #45173, #47103, #46008, Discord thread from 2026-03-16
  • npm update -g openclaw reports already on latest (2026.3.13)

extent analysis

Fix Plan

To resolve the WebSocket handshake timeout issue, we need to increase the handshake timeout duration.

Here are the steps:

  • Update the openclaw configuration to increase the WebSocket handshake timeout.
  • Modify the gateway settings to allow for a longer handshake timeout.

Example code snippet to increase the handshake timeout:

// Increase the handshake timeout to 10 seconds
const openclawConfig = {
  gateway: {
    ws: {
      handshakeTimeout: 10000, // 10 seconds
    },
  },
};

Alternatively, you can also try updating the openclaw package to a version that includes the fix for this issue, if available.

Verification

To verify that the fix worked, try running the openclaw browser commands again and check if the gateway connection is established successfully. You can also check the gateway logs to ensure that the handshake timeout error is no longer occurring.

Extra Tips

  • Make sure to update the openclaw package to the latest version, if available, to ensure you have the latest fixes and features.
  • If you continue to experience issues, try increasing the handshake timeout duration further or investigating other potential causes of the timeout error.
  • Refer to the openclaw documentation and GitHub issues (e.g., #45173, #47103, #46008) for more information on troubleshooting and resolving WebSocket handshake timeout issues.

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

Browser starts and commands work (as they did on earlier versions).

Still need to ship something?

×6

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

Back to top recommendations

TRENDING