# Signal: a private, end-to-end encrypted channel to your agent

> Talk to Hermes over Signal by linking signal-cli as a secondary device and pointing the gateway at its local HTTP daemon.

Canonical: https://hermeswatcher.com/tools/signal  
Kind: Messaging platform · Messaging & the gateway  
Last reviewed: Oct 29, 2026  
Basis: Explained from the official Hermes Agent docs and repository (Nous Research). Steps follow the linked official sources.

## What it 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

## Setting it up

1. Install signal-cli, for example `brew install signal-cli` on 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 setup` and choose Signal, or set SIGNAL_HTTP_URL, SIGNAL_ACCOUNT and SIGNAL_ALLOWED_USERS in ~/.hermes/.env
5. Start the gateway with `hermes gateway` or `hermes gateway install`

## How to check it works

- Run `curl http://127.0.0.1:8080/api/v1/check` and 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

- 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

[All messaging platforms](https://hermeswatcher.com/messaging)
- [Setup guide](https://hermeswatcher.com/learn/hermes-agent-signal-setup)

## Sources

- [Hermes Agent docs: Signal](https://hermes-agent.nousresearch.com/docs/user-guide/messaging/signal)
- [Hermes Agent docs: Messaging Gateway](https://hermes-agent.nousresearch.com/docs/user-guide/messaging/)
- [Official Hermes Agent source: website/docs/user-guide/messaging/signal.md](https://github.com/NousResearch/hermes-agent/blob/088f657ecf77674c7b8e2ededf4e3576d82e042c/website/docs/user-guide/messaging/signal.md#L9-L23)
- [Official Hermes Agent source: website/docs/user-guide/messaging/signal.md](https://github.com/NousResearch/hermes-agent/blob/088f657ecf77674c7b8e2ededf4e3576d82e042c/website/docs/user-guide/messaging/signal.md#L148-L167)
- [Official Hermes Agent source: website/docs/user-guide/messaging/signal.md](https://github.com/NousResearch/hermes-agent/blob/088f657ecf77674c7b8e2ededf4e3576d82e042c/website/docs/user-guide/messaging/signal.md#L239-L249)
- [Official Hermes Agent source: website/docs/user-guide/features/tts.md](https://github.com/NousResearch/hermes-agent/blob/088f657ecf77674c7b8e2ededf4e3576d82e042c/website/docs/user-guide/features/tts.md#L497-L505)
- [Official Hermes Agent source: website/docs/user-guide/features/tts.md](https://github.com/NousResearch/hermes-agent/blob/088f657ecf77674c7b8e2ededf4e3576d82e042c/website/docs/user-guide/features/tts.md#L550-L591)

---

HermesWatcher is an independent guide. It is not affiliated with or endorsed by Nous Research. The [official Hermes Agent documentation](https://hermes-agent.nousresearch.com/docs) and [repository](https://github.com/NousResearch/hermes-agent) from Nous Research are the authority; each page here lists the official sources it was written from. If this site and the official docs disagree, trust the official docs. Index for agents: https://hermeswatcher.com/llms.txt
