What Signal is for
Signal encrypts transport, but Hermes requires an external signal-cli linked-device daemon. Decrypted messages reach the Hermes host, configured model and tools; the messenger alone does not make all processing private or local. Choose explicit user grants. Group chats stay ignored until you list specific group IDs. A home channel can receive scheduled results.
What you need
- signal-cli (from GitHub releases on Linux, or Homebrew on macOS) and Java 17 or later
- A phone number with Signal installed to link signal-cli as a secondary device
- A way to keep the signal-cli daemon running, such as systemd, tmux or screen
Set it up
- 1
Install signal-cli, for example
brew install signal-clion macOS - 2
Run
signal-cli link -n "HermesAgent"and scan the QR code from Signal's Linked Devices screen on your phone - 3
Start the daemon with
signal-cli --account +1234567890 daemon --http 127.0.0.1:8080, using your own E.164 number - 4
Run
hermes gateway setupand choose Signal, or set SIGNAL_HTTP_URL, SIGNAL_ACCOUNT and SIGNAL_ALLOWED_USERS in~/.hermes/.env - 5
Start the gateway with
hermes gatewayorhermes gateway install
Check it works
- Run
curl http://127.0.0.1:8080/api/v1/checkand confirm it returns JSON with the signal-cli version - The setup wizard tests connectivity to the daemon
- Message the bot from an allowed number. If pairing is enabled and a code is issued, approve it with
hermes pairing approve signal CODE. A restrictive allowlist normally suppresses unsolicited codes.
Limits and failure points
- Signal cannot edit sent messages, so tool-progress updates are suppressed; replies over 8,000 characters are split into chunks
- Running more than one signal-cli listener on the same number produces duplicate messages
- Voice input uses the configured speech-to-text provider when available, including documented local, hosted or custom providers. Spoken replies can be attached as audio. The signal-cli data folder contains account credentials.
Messaging setup
Primary sources
- Hermes Agent docs: Signal (opens in a new tab)
- Hermes Agent docs: Messaging Gateway (opens in a new tab)
- Official Hermes Agent source: website/docs/user-guide/messaging/signal.md (opens in a new tab)
- Official Hermes Agent source: website/docs/user-guide/messaging/signal.md (opens in a new tab)
- Official Hermes Agent source: website/docs/user-guide/messaging/signal.md (opens in a new tab)
- Official Hermes Agent source: website/docs/user-guide/features/tts.md (opens in a new tab)
- Official Hermes Agent source: website/docs/user-guide/features/tts.md (opens in a new tab)
Spotted something wrong or out of date? Tell us on X at @HermesWatcher (opens in a new tab) and we will fix it.