Skip to content

Releases: ngmaloney/clawchat

ClawChat v0.3.0

05 Apr 04:38
3780b2a

Choose a tag to compare

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 — Added BackendType, handle connect.welcome for channel handshake
  • ConnectScreen.tsx — Backend tabs with independent URL/token state per backend
  • App.tsx — Separate credential persistence for each backend
  • useGateway.ts — Pass backend type through to client
  • README.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

19 Mar 01:30

Choose a tag to compare

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

18 Mar 02:59

Choose a tag to compare

Compatibility

Requires OpenClaw gateway 2026.3.14 or later.

Fixes

  • Fixed connection failure with upgraded OpenClaw gateway — ClawChat now identifies as openclaw-control-ui to 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

11 Mar 00:13

Choose a tag to compare

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

07 Mar 18:20

Choose a tag to compare

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

27 Feb 00:40

Choose a tag to compare

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 ssh2 dependency entirely
  • createSSHTunnel now spawns ssh -N -L localPort:127.0.0.1:remotePort
  • Tunnel readiness detected by polling the local port (up to 15s)
  • StrictHostKeyChecking=accept-new handles first-time host verification automatically
  • BatchMode=yes prevents any interactive prompts from hanging the app
  • destroySSHTunnel kills 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

26 Feb 23:30

Choose a tag to compare

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

25 Feb 03:51

Choose a tag to compare

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

25 Feb 03:23

Choose a tag to compare

Release v0.1.2 - Fix device authentication and build errors

v0.1.0

01 Feb 19:30

Choose a tag to compare

Set GH_TOKEN at job level and disable auto-publish in CI