Skip to main content

Overview

ArgentOS connects to Signal through signal-cli, a command-line client for the Signal messenger. The channel driver communicates with signal-cli over its D-Bus or JSON-RPC interface.
Signal setup is more involved than other channels. You need signal-cli installed and registered as a linked device.

Prerequisites

  • signal-cli installed (installation guide)
  • Java 21+ runtime (required by signal-cli)
  • A phone with Signal installed
  • ArgentOS gateway running

Setup

1

Install signal-cli

brew install signal-cli
2

Link as a Device

signal-cli link -n "ArgentOS Agent"
This outputs a tsdevice: URI. Convert it to a QR code:
signal-cli link -n "ArgentOS Agent" | qrencode -t ANSI
Scan the QR code in Signal: Settings > Linked Devices > Link New Device.
3

Verify the Link

signal-cli -a +1YOUR_PHONE_NUMBER receive
You should see recent messages. This confirms signal-cli is connected.
4

Add the Channel

argent channels add signal

Configuration

{
  "channels": {
    "signal": {
      "enabled": true,
      "account": "+15551234567",
      "signalCliPath": "/usr/local/bin/signal-cli",
      "mode": "json-rpc",
      "allowedNumbers": []
    }
  }
}

Running signal-cli as a Daemon

For production use, run signal-cli in daemon mode so ArgentOS can communicate with it over JSON-RPC.
signal-cli -a +1YOUR_NUMBER daemon --socket /tmp/signal-cli.sock

Supported Features

FeatureSupported
Text messagesYes
ImagesYes
FilesYes
Group messagesPartial
ReactionsNo
Voice/video callsNo

Known Limitations

signal-cli must be running as a daemon for the channel to work.
Signal’s protocol updates may require updating signal-cli periodically.
Group message support is limited to receiving; sending to groups is experimental.