Releases: ngmaloney/clawchat
ClawChat v0.3.0
ClawChat now supports two backends — connect to OpenClaw gateways or Claude Code channel servers.
New: Claude Code Channels
- Connect to Claude Code instances running with MCP channel servers
- Uses your Claude Max subscription — no API billing
- Tabbed connect screen: OpenClaw | Claude Channels
- Each backend maintains separate saved credentials
- Full setup guide in README
How it works
A custom MCP channel server runs as a subprocess of Claude Code, exposing a WebSocket endpoint for ClawChat. Messages flow through Claude Code's channel notification system — same protocol, no API keys needed.
ClawChat ──WebSocket──→ Channel Server (MCP + WS)
│ stdio
▼
Claude Code (interactive session)
OpenClaw Gateway
Fully preserved — zero changes to existing OpenClaw functionality. Streaming deltas, Ed25519 handshake, SSH tunneling all work exactly as before.
Changes
gateway-client.ts— AddedBackendType, handleconnect.welcomefor channel handshakeConnectScreen.tsx— Backend tabs with independent URL/token state per backendApp.tsx— Separate credential persistence for each backenduseGateway.ts— Pass backend type through to clientREADME.md— Full channel server setup documentation
Known Limitations
- Channel responses arrive as a single message (no streaming deltas yet)
- Requires Claude Code running interactively with
--dangerously-load-development-channels - Single conversation per Claude Code instance
Full Changelog: v0.2.6...v0.3.0
What's Changed
- fix: filter HEARTBEAT_OK and NO_REPLY sentinel messages from chat UI by @ngmaloney in #24
- fix: messages disappearing when sending during active response by @ngmaloney in #25
- feat: add Claude Code channels as alternative backend by @ngmaloney in #26
Full Changelog: v0.2.6...v0.3.0
ClawChat v0.2.6
What's Changed
- feat: improved message styling with avatars and better code rendering by @ngmaloney in #23
Full Changelog: v0.2.5...v0.2.6
ClawChat v0.2.5
Compatibility
Requires OpenClaw gateway 2026.3.14 or later.
Fixes
- Fixed connection failure with upgraded OpenClaw gateway — ClawChat now identifies as
openclaw-control-uito work with the gateway's scope-based auth enforcement (#22)
What's Changed
- fix: use openclaw-control-ui client identity for gateway scope bypass by @ngmaloney in #22
Full Changelog: v0.2.4...v0.2.5
ClawChat v0.2.4
What's Changed
- fix: allow send with image attachment and no text by @ngmaloney in #19
- fix: immediately clear streaming state on abort by @ngmaloney in #20
Full Changelog: v0.2.3...v0.2.4
ClawChat v0.2.3
What's Changed
- fix: use minimal operator scopes by @ngmaloney in #10
- fix: reload history when chat events arrive from external client by @ngmaloney in #11
- fix: dont send device identity without existing deviceToken by @ngmaloney in #14
- fix: clear stuck streaming state on connection drop or stall by @ngmaloney in #18
- chore: add Apple code signing and notarization by @ngmaloney in #15
Full Changelog: v0.2.2...v0.2.3
v0.2.2 — SSH Tunnel Fix
What's Fixed
SSH Tunnel: Replaced ssh2 with system SSH binary
The v0.2.1 SSH tunnel used ssh2 (a pure-JS SSH implementation) which produced EHOSTUNREACH errors on hosts that were perfectly reachable via your terminal SSH. The root cause: ssh2 runs its own network stack that doesn't inherit macOS routing rules the way the system binary does.
v0.2.2 switches to spawning your system ssh binary directly (ssh -N -L ...), which uses the exact same binary and network configuration as your terminal. If ssh host works in your terminal, it will work in ClawChat.
Changes:
- Removed
ssh2dependency entirely createSSHTunnelnow spawnsssh -N -L localPort:127.0.0.1:remotePort- Tunnel readiness detected by polling the local port (up to 15s)
StrictHostKeyChecking=accept-newhandles first-time host verification automaticallyBatchMode=yesprevents any interactive prompts from hanging the appdestroySSHTunnelkills the child process cleanly on disconnect or quit
Upgrading
Download the build for your platform below. No config changes needed — SSH settings from v0.2.1 carry over.
v0.2.1
What's New
Native SSH Tunnel Support
Connect to a remote OpenClaw gateway over SSH directly from the app — no terminal setup required.
- Direct / SSH Tunnel toggle on the connect screen
- ClawChat opens the SSH tunnel for you, binds to a local port, and connects transparently — the gateway never needs to be on a public interface
- SSH fields: host, port, username, key path, remote gateway port
- Key-based auth with TOFU host verification (prompts on unknown hosts)
- Tunnel config persisted across sessions — form pre-fills on next launch
- Tunnel tears down automatically on disconnect or quit
SSH Badge in Status Bar
When connected via SSH tunnel, a small SSH badge appears next to the host in the status bar so the connection type is always clear.
Note: Password-based SSH auth is not supported in this release. Key-based auth only.
v0.2.0
Whats New
Footer Status Bar
The sessions sidebar has been removed in favour of a compact footer that surfaces everything you need at a glance:
- Session select — switch sessions from a dropdown in the footer, defaults to main
- Gateway host — shows
Connected [hostname]so you always know which gateway you are connected to - Active model — displays the current model name
- Token count — cumulative token usage with color thresholds (amber at 80k, red at 150k)
This frees up the full window width for chat.
v0.1.2
Release v0.1.2 - Fix device authentication and build errors
v0.1.0
Set GH_TOKEN at job level and disable auto-publish in CI