Skip to content

CLI client

The rChat CLI client provides full-featured end-to-end encrypted messaging from the terminal. A TUI (terminal user interface) version is also available for a more visual experience.


  • A running rChat server (see Server Quick Start)
  • The server WebSocket address (e.g. wss://your-server.com)

Download the binary for your platform:

Terminal window
# macOS Universal
curl -LO https://github.com/PDG-Global/rchat/releases/latest/download/rchat-cli-macos-universal
chmod +x rchat-cli-macos-universal
sudo mv rchat-cli-macos-universal /usr/local/bin/rchat-cli
# Linux x86_64
curl -LO https://github.com/PDG-Global/rchat/releases/latest/download/rchat-cli-x86_64-linux-gnu
chmod +x rchat-cli-x86_64-linux-gnu
sudo mv rchat-cli-x86_64-linux-gnu /usr/local/bin/rchat-cli
# Linux ARM64
curl -LO https://github.com/PDG-Global/rchat/releases/latest/download/rchat-cli-aarch64-linux-gnu
chmod +x rchat-cli-aarch64-linux-gnu
sudo mv rchat-cli-aarch64-linux-gnu /usr/local/bin/rchat-cli
# FreeBSD x86_64
fetch https://github.com/PDG-Global/rchat/releases/latest/download/rchat-cli-x86_64-freebsd
chmod +x rchat-cli-x86_64-freebsd
sudo mv rchat-cli-x86_64-freebsd /usr/local/bin/rchat-cli

Terminal window
rchat-cli keygen

This creates an Ed25519 identity key pair stored in ~/.config/rchat/identity.key. The private key never leaves this file.

Terminal window
rchat-cli --server wss://your-server.com

The client will connect, publish your public key, and present an interactive prompt.

/chat <contact-identity-key>

The client performs the X3DH handshake automatically. Once established, type messages and press Enter to send.


CommandDescription
/chat <key>Start a conversation with a contact
/contactsList known contacts
/statusShow connection status
/quitExit the client

For a richer terminal experience with a sidebar, message history, and contact list:

Terminal window
rchat-cli-tui --server wss://your-server.com

Navigation:

  • Tab — Switch between contact list and message pane
  • ↑ / ↓ — Navigate contacts or message history
  • Enter — Send message
  • q — Quit

Create ~/.config/rchat/client.toml to avoid passing flags:

server = "wss://your-server.com"
identity_key = "~/.config/rchat/identity.key"
log_level = "info"

Then simply run:

Terminal window
rchat-cli

  • Verify the server is running
  • Check the server address includes wss:// (not ws:// or https://)
  • Ensure port 443 is open on the server
  • Verify the server’s TLS certificate is valid and not expired
  • Check that the hostname in the server address matches the certificate
  • Run rchat-cli keygen first
  • Or specify the path with --identity-key

For more troubleshooting help, see the Troubleshooting Guide.