Simple desktop client for remote OpenClaw gateways.
No Node.js, no npm, no complexity — just download and connect.
ClawChat fills a specific gap in the OpenClaw ecosystem: simple desktop access to remote gateways.
- ✅ Your gateway runs on a server (Linux/remote Mac) and you want to connect from your laptop
- ✅ You're on Windows or Linux (no official OpenClaw desktop app for these platforms)
- ✅ You want a lightweight client without installing Node.js, npm, or managing the gateway locally
- ✅ You prefer SSH/Tailscale setups with a remote gateway
- ✅ You want to run the gateway locally on your Mac
- ✅ You need native macOS integrations (TCC permissions, system notifications, etc.)
- ✅ You want the app to manage the gateway lifecycle for you
Both are great! Pick the client that matches your setup. Learn more about OpenClaw.
🎯 Quick Guide:
- Run gateway locally on Mac? → OpenClaw macOS App
- Run gateway on a server (Linux/remote Mac)? → ClawChat
- Using Windows or Linux? → ClawChat (only cross-platform option)
Pre-built releases for macOS, Windows, and Linux are available on the Releases page.
- macOS —
.dmginstaller - Windows —
.exeinstaller - Linux —
.AppImage(portable)
Or build from source (see Quick Start below).
ClawChat excels at connecting to OpenClaw gateways running elsewhere — whether that's a dedicated server, a home lab, or a cloud instance.
Common setup:
- Run OpenClaw gateway on a Linux server or remote Mac (via SSH/Tailscale)
- Install ClawChat on your laptop (Mac, Windows, or Linux)
- Connect via WebSocket — no Node.js installation required on your laptop
Your conversations and credentials stay on your infrastructure. ClawChat is just a lightweight UI that talks to your gateway.
- Full chat UI — Send messages, receive streamed responses with live text updates
- Markdown rendering — Code blocks with syntax highlighting, bold, italic, links, lists
- Image attachments — Upload and view images inline
- Session management — Switch between multiple chat sessions
- Slash commands — Type
/to access commands like/new,/model,/thinking,/status, etc. - Auto-reconnect — Resilient WebSocket connection with exponential backoff
- Persistent credentials — Saved locally for auto-connect on launch
- Cross-platform — macOS, Windows, and Linux support
- DevTools access — F12 or Ctrl+Shift+I for debugging
Node mode (camera, screen recording, system commands) is planned for a future release. This would allow ClawChat to act as an OpenClaw node, enabling the gateway to access your local machine's capabilities — making ClawChat the only cross-platform node solution for Windows and Linux users.
Why it matters: Currently, only the macOS app can expose node capabilities. ClawChat would be the first cross-platform option, essential for Windows/Linux users who want their gateway to access camera, screen, or run system commands remotely.
Status: Proof-of-concept validated (see feature/node-mode-poc branch). Implementation paused pending further investigation into the protocol requirements. Contributions welcome!
- Node.js 18+
- A running OpenClaw Gateway
git clone git@github.com:ngmaloney/clawchat.git
cd clawchat
npm installnpm run devnpm run buildOutputs packaged binaries to release/ directory.
- Launch ClawChat
- Enter your gateway URL (e.g.,
ws://localhost:18789) - Enter your gateway auth token
- Click Connect
Your credentials are saved locally and the app will auto-connect on subsequent launches.
ClawChat supports OpenClaw slash commands for controlling your agent and session. Type / in the message input to see available commands:
/new— Start a new session/model— Show or switch models/thinking— Toggle extended thinking mode/status— Show session status and token usage/stop— Abort current generation/compact— Summarize and compress session history/verbose— Toggle verbose output/reset— Reset the current session
Commands autocomplete as you type. Just start typing / and select from the menu.
If your OpenClaw gateway runs on a different machine (e.g., a dedicated server), use SSH port forwarding to securely tunnel the connection:
ssh -N -L 18789:127.0.0.1:18789 your-gateway-hostExample:
ssh -N -L 18789:127.0.0.1:18789 ts140Then connect ClawChat to ws://localhost:18789 as if the gateway were local. The SSH tunnel encrypts all traffic between your desktop and the gateway server.
Note: For local WebSocket connections without device identity, ensure your gateway config has
gateway.controlUi.allowInsecureAuth: trueset.
- Electron — Cross-platform desktop runtime
- React 18 — UI framework with hooks
- TypeScript — Type safety
- Vite — Fast build tooling with HMR
- react-markdown + remark-gfm — Markdown rendering
- react-syntax-highlighter — Code syntax highlighting
- electron-store — Local credential storage
ClawChat implements the OpenClaw Gateway Protocol v3, including proper handshake, request/response correlation, and event streaming.
electron/ # Main process (Node.js)
main.ts # App lifecycle, IPC handlers
preload.ts # Secure context bridge
src/ # Renderer process (React)
lib/
gateway-client.ts # WebSocket protocol implementation
hooks/
useGateway.ts # Connection state management
useChat.ts # Message & session state
components/
Dashboard.tsx # Main UI layout
ChatView.tsx # Message list
MessageInput.tsx # Input with file upload
...
Private — not yet published.
Website: clawchat.dev
