OpenClaw Studio is a Next.js dashboard for managing OpenClaw agents via the OpenClaw Gateway (WebSocket).
- Node.js 18+ (LTS recommended)
- OpenClaw Gateway running (local or remote)
- Tailscale (optional, recommended for tailnet access)
If you don't already have OpenClaw installed:
npm install -g openclaw@latest
openclaw onboard --install-daemonStart a gateway (foreground):
openclaw gateway run --bind loopback --port 18789 --verboseHelpful checks:
openclaw gateway probe
openclaw config get gateway.auth.tokenMost people keep the gateway bound to loopback and use Tailscale Serve on the gateway host.
On the gateway host:
openclaw config set gateway.tailscale.mode serve
openclaw config set gateway.auth.mode tokenRestart your gateway. Then:
tailscale serve statusTake the HTTPS URL from tailscale serve status and convert it to a WebSocket URL for Studio:
https://gateway-host.your-tailnet.ts.net->wss://gateway-host.your-tailnet.ts.net
npx -y openclaw-studio
cd openclaw-studio
npm run devOpen http://localhost:3000 and set:
- Token:
openclaw config get gateway.auth.token - Gateway URL:
wss://gateway-host.your-tailnet.ts.net(tailnet viatailscale serve) - Gateway URL:
ws://127.0.0.1:18789(local gateway) - Gateway URL:
ws://your-host:18789(direct remote port, notailscale serve)
Notes:
- If Studio is served over
https://, the gateway URL must bewss://...(browsers blockws://fromhttps://pages).
If you prefer SSH tunneling to a remote host:
ssh -L 18789:127.0.0.1:18789 user@your-hostThen connect Studio to ws://127.0.0.1:18789.
git clone https://github.com/grp06/openclaw-studio.git
cd openclaw-studio
npm install
npm run devPaths and key settings:
- OpenClaw config:
~/.openclaw/openclaw.json(orOPENCLAW_CONFIG_PATH/OPENCLAW_STATE_DIR) - Studio settings:
~/.openclaw/openclaw-studio/settings.json - Default gateway URL:
ws://127.0.0.1:18789(override via Studio Settings orNEXT_PUBLIC_GATEWAY_URL)
- Missing config: Run
openclaw onboardor setOPENCLAW_CONFIG_PATH - Gateway unreachable: Confirm the gateway is running and
NEXT_PUBLIC_GATEWAY_URLmatches - Auth errors: Studio currently prompts for a token. Check
gateway.auth.modeistokenandgateway.auth.tokenis set inopenclaw.json(or runopenclaw config get gateway.auth.token). - Still stuck: Run
npx -y openclaw-studio@latest doctor --check(and--fix --force-settingsto safely rewrite Studio settings).
See ARCHITECTURE.md for details on modules and data flow.
