Complete guide to connecting Signal with OpenClaw (formerly Moltbot, Clawdbot)
New to channel setup? For a hands-on, step-by-step tutorial, check out our Channel Setup Tutorial. This page is a comprehensive reference covering all Signal features and configuration options.
Signal is a privacy-focused messaging platform with end-to-end encryption. OpenClaw (formerly Moltbot, Clawdbot) integrates with Signal using signal-cli, a command-line interface for Signal, enabling secure messaging through your OpenClaw assistant.
Setting up Signal requires installing signal-cli and linking your account:
signal-cli is a command-line interface for Signal that OpenClaw uses to communicate with Signal. You need to install it before configuring Signal in OpenClaw.
Install via Homebrew:
brew install signal-cli
Install from package manager or build from source:
# Download latest release
wget https://github.com/AsamK/signal-cli/releases/latest/download/signal-cli-*.tar.gz
tar -xzf signal-cli-*.tar.gz
sudo mv signal-cli-*/bin/signal-cli /usr/local/bin/
Windows requires WSL2 or a Linux environment. Install signal-cli in your WSL2 environment following Linux instructions.
Verify signal-cli is installed correctly:
signal-cli --version
Before OpenClaw can use Signal, you need to link your Signal account with signal-cli. This process registers your phone number with Signal's servers.
Register your phone number with signal-cli:
signal-cli -u +1234567890 register
Replace +1234567890 with your phone number in international format (including country code).
You'll receive a verification code via SMS. Verify it:
signal-cli -u +1234567890 verify <verification-code>
If you already have Signal on your phone, you can link this as a secondary device:
signal-cli -u +1234567890 link
This will generate a QR code that you can scan with your Signal mobile app to link the device.
Configure Signal in your OpenClaw configuration file:
{
"channels": {
"signal": {
"enabled": true,
"signalCliPath": "/usr/local/bin/signal-cli",
"dataPath": "~/.local/share/signal-cli"
}
}
}
You can also configure via environment variables:
export SIGNAL_CLI_PATH="/usr/local/bin/signal-cli"
export SIGNAL_DATA_PATH="~/.local/share/signal-cli"
OpenClaw supports various Signal features:
If OpenClaw can't find signal-cli:
signal-cli --versionIf account linking fails:
If messages aren't being received:
If you encounter permission errors: