ClawSuite fails to connect to OpenClaw Gateway (versions 2026.4.1, 2026.4.9). The dashboard shows a white screen, and the browser console reports React hydration errors (Cannot read properties of undefined (reading 'setState')). The built‑in OpenClaw Control UI at http://localhost:18789 works perfectly.
Steps to reproduce:
Install OpenClaw (e.g. 2026.4.9) on a clean Ubuntu 22.04 (WSL2 or native).
Start the Gateway: openclaw gateway run (listens on ws://127.0.0.1:18789).
Clone and run ClawSuite:
bash
git clone https://github.com/outsourc-e/clawsuite.git
cd clawsuite
npm install
npm run dev
Open http://localhost:3000 in a browser (Chrome/Firefox).
Page is white; browser console shows errors (see below).
Actual behavior:
White screen, no data.
Browser console errors:
text
Uncaught TypeError: Cannot read properties of undefined (reading 'setState')
at hydrate (ssr-client.ts:156)
Server‑side logs (ClawSuite terminal) show repeated RPC failures:
text
gateway nodes.list failed: Error: unknown method: nodes.list
gateway session.status failed: Error: unknown method: session.status
gateway sessions.status failed: Error: unknown method: sessions.status
gateway sessions.usage failed: invalid params: unexpected property 'sessionKey'
WebSocket handshake errors in Gateway logs:
text
[ws] unauthorized: token mismatch
[ws] closed before connect ... reason=invalid connect params: at /device: must have required property 'nonce'
The built‑in OpenClaw dashboard at http://localhost:18789 works with the same token.
Expected behavior:
ClawSuite should connect to the Gateway, authenticate correctly, and display the dashboard without React hydration errors.
Environment:
OpenClaw: 2026.4.9 (also tested 2026.4.1)
ClawSuite: latest main branch (as of 2026-04-10)
OS: Ubuntu 22.04 (WSL2 / Windows 11)
Node.js: v22.22.2 (installed via nvm)
Gateway URL: ws://127.0.0.1:18789
Gateway token stored in .env (ClawSuite) and ~/.openclaw/.env (OpenClaw)
Additional context:
After approving the device (openclaw devices approve), ClawSuite still fails because it calls unsupported RPC methods (nodes.list, session.status, etc.) and does not send the required nonce field during WebSocket handshake.
The GATEWAY_TOKEN variable is correctly set in ClawSuite’s .env (both with and without VITE_ prefix).
CSP warnings and font loading errors appear in the browser console but are not the root cause.
Possible cause:
ClawSuite’s Gateway client implements an older version of the OpenClaw RPC protocol. Recent OpenClaw releases (2026.4.x) have introduced breaking changes:
New required nonce field for device pairing.
Removed or renamed RPC methods (e.g., nodes.list, session.status).
Suggested fix:
Update ClawSuite’s WebSocket client to:
Include a nonce field in the initial connect message.
Use the currently supported RPC methods (or gracefully handle unknown method errors).
Align the authentication flow with the latest OpenClaw token‑based scheme.
ClawSuite fails to connect to OpenClaw Gateway (versions 2026.4.1, 2026.4.9). The dashboard shows a white screen, and the browser console reports React hydration errors (Cannot read properties of undefined (reading 'setState')). The built‑in OpenClaw Control UI at http://localhost:18789 works perfectly.
Steps to reproduce:
Install OpenClaw (e.g. 2026.4.9) on a clean Ubuntu 22.04 (WSL2 or native).
Start the Gateway: openclaw gateway run (listens on ws://127.0.0.1:18789).
Clone and run ClawSuite:
bash
git clone https://github.com/outsourc-e/clawsuite.git
cd clawsuite
npm install
npm run dev
Open http://localhost:3000 in a browser (Chrome/Firefox).
Page is white; browser console shows errors (see below).
Actual behavior:
White screen, no data.
Browser console errors:
text
Uncaught TypeError: Cannot read properties of undefined (reading 'setState')
at hydrate (ssr-client.ts:156)
Server‑side logs (ClawSuite terminal) show repeated RPC failures:
text
gateway nodes.list failed: Error: unknown method: nodes.list
gateway session.status failed: Error: unknown method: session.status
gateway sessions.status failed: Error: unknown method: sessions.status
gateway sessions.usage failed: invalid params: unexpected property 'sessionKey'
WebSocket handshake errors in Gateway logs:
text
[ws] unauthorized: token mismatch
[ws] closed before connect ... reason=invalid connect params: at /device: must have required property 'nonce'
The built‑in OpenClaw dashboard at http://localhost:18789 works with the same token.
Expected behavior:
ClawSuite should connect to the Gateway, authenticate correctly, and display the dashboard without React hydration errors.
Environment:
OpenClaw: 2026.4.9 (also tested 2026.4.1)
ClawSuite: latest main branch (as of 2026-04-10)
OS: Ubuntu 22.04 (WSL2 / Windows 11)
Node.js: v22.22.2 (installed via nvm)
Gateway URL: ws://127.0.0.1:18789
Gateway token stored in .env (ClawSuite) and ~/.openclaw/.env (OpenClaw)
Additional context:
After approving the device (openclaw devices approve), ClawSuite still fails because it calls unsupported RPC methods (nodes.list, session.status, etc.) and does not send the required nonce field during WebSocket handshake.
The GATEWAY_TOKEN variable is correctly set in ClawSuite’s .env (both with and without VITE_ prefix).
CSP warnings and font loading errors appear in the browser console but are not the root cause.
Possible cause:
ClawSuite’s Gateway client implements an older version of the OpenClaw RPC protocol. Recent OpenClaw releases (2026.4.x) have introduced breaking changes:
New required nonce field for device pairing.
Removed or renamed RPC methods (e.g., nodes.list, session.status).
Suggested fix:
Update ClawSuite’s WebSocket client to:
Include a nonce field in the initial connect message.
Use the currently supported RPC methods (or gracefully handle unknown method errors).
Align the authentication flow with the latest OpenClaw token‑based scheme.