OpenClaw on Signal
The number model, signal-cli, the two setup paths, and pairing
OpenClaw reaches Signal through a downloadable plugin that talks to signal-cli over HTTP, either its native daemon or a community REST container; it does not embed Signal’s own library. The docs open with the number model because it decides everything after: the Gateway connects to a Signal device, which is the signal-cli account, and a bot running on your personal account ignores your own messages as loop protection. Here is the install, the guided setup, the two ways to get an account, the minimal config, and the dedicated-number path with its captcha.
For "I text the bot and it replies," use a separate bot number.
Setup
- Pick a separate number for the bot, then install the plugin; it comes from npm and falls back to ClawHub, and the install registers and enables it.
- Run the guided setup: the wizard detects signal-cli on the path and, when it is missing, offers to install it, the native build on Linux x86-64 or Homebrew elsewhere, then asks for the bot number and the path; non-interactive flags exist for the number and the daemon’s host and port.
- Link or register: the fastest path links an existing Signal account by scanning a QR code; the other registers a dedicated number by SMS. Then probe the channel status, send a first message and approve the pairing code.
The minimal config
Enabled, the account in international format, a managed-native transport with the path to signal-cli, pairing as the DM policy, and an allow list of numbers or user ids. Several accounts live under named entries that each own their transport, omitted policies inherit the channel root, DMs share the agent’s main session while groups are isolated per group by default, and the channel may write config changes from chat unless you turn that off.
The dedicated-number path
- A number that can receive SMS, or voice verification for a landline, and signal-cli on the Gateway host: the native tarball unpacked under opt, or the JVM build with a runtime; keep it updated, because old releases break as Signal’s server APIs change.
- Register the number; if a captcha is required, complete it on Signal’s captcha page, copy the link target, run from the same external IP where possible because tokens expire quickly, and register with the captcha and verify with the code immediately.
- Run the doctor, probe the channel, pair your sender by messaging the bot and approving the code, and save the bot’s number as a contact so it stops showing as unknown.
OpenClaw on Telegram is the channel the docs suggest first when Signal’s setup is more than you want today, and OpenClaw not responding is the ladder when the bot is paired and silent.
On Diali
On Diali, Signal is on the roadmap rather than in the connect list, and the number model is the part that will still be yours: a separate bot number, registered or linked, with the Gateway on our side. Hosted OpenClaw on Diali is the assistant, and OpenClaw on WhatsApp is the closest channel that connects today.
- The Gateway is a Signal device; give it its own number.
- Link by QR, or register by SMS with a captcha.
- Pairing on by default; approve the first sender.
Stop reading about it, build one
Set up an agent, pick a channel, and have it working inside the app you already keep open.
