*-h*, *--help*::
Show help message and quit.
-*-v*, *--version*::
+*--version*::
Print the version and quit.
-*--verbose*::
+*-v*, *--verbose*::
Raise log level and include lib signal logs.
*--log-file* LOG_FILE::
*--captcha*::
The captcha token, required if registration failed with a captcha required error.
To get the token, go to https://signalcaptchas.org/registration/generate.html
+For the staging environment, use: https://signalcaptchas.org/staging/registration/generate.html
Check the developer tools for a redirect starting with signalcaptcha:// Everything after signalcaptcha:// is the captcha token.
=== verify
=== unregister
Disable push support for this device, i.e. this device won't receive any more messages.
-If this is the master device, other users can't send messages to this number anymore.
+If this is the primary device, other users can't send messages to this number anymore.
Use "updateAccount" to undo this.
-To remove a linked device, use "removeDevice" from the master device.
+To remove a linked device, use "removeDevice" from the primary device.
*--delete-account*::
Delete account completely from server.
CAUTION: Only delete your account if you won't use this number again!
+=== deleteLocalAccountData
+
+Delete all local data for this account.
+Data should only be deleted if the account is unregistered.
+
+CAUTION: This cannot be undone.
+
+*--ignore-registered*::
+Delete the account data even though the account is still registered on the Signal servers.
+
=== updateAccount
Update the account attributes on the signal server.
Can fix problems with receiving messages.
*-n* NAME, *--device-name* NAME::
-Set a new device name for the main or linked device
+Set a new device name for the primary or linked device
=== updateConfiguration
Update signal configs and sync them to linked devices.
-This command only works on the main devices.
+This command only works on the primary devices.
*--read-receipts* {true,false}::
Indicates if Signal should send read receipts.
=== addDevice
Link another device to this device.
-Only works, if this is the master device.
+Only works, if this is the primary device.
*--uri* URI::
Specify the uri contained in the QR code shown by the new device.
=== removeDevice
Remove a linked device.
-Only works, if this is the master device.
+Only works, if this is the primary device.
*-d* DEVICE_ID, *--device-id* DEVICE_ID::
Specify the device you want to remove.
Specify the recipient group ID in base64 encoding.
*-m* MESSAGE, *--message* MESSAGE::
-Specify the message, if missing, standard input is used.
+Specify the message.
+Currently, signal-cli reads the message from stdin if `-m` is missing, but this will change in a future version and the explicit flag `--message-from-stdin` should be used instead.
+
+*--message-from-stdin*::
+Read the message from standard input.
*-a* [ATTACHMENT [ATTACHMENT ...]], *--attachment* [ATTACHMENT [ATTACHMENT ...]]::
Add one or more files as attachment.
+Can be either a file path or a data URI. Data URI encoded attachments must follow the RFC 2397.
+Additionally a file name can be added:
+e.g.: `data:<MIME-TYPE>;filename=<FILENAME>;base64,<BASE64 ENCODED DATA>`
*--sticker* STICKER::
Send a sticker of a locally known sticker pack (syntax: stickerPackId:stickerId).
*--quote-mention*::
Specify the mentions of the original message (same format as `--mention`).
+*--preview-url*::
+Specify the url for the link preview.
+The same url must also appear in the message body, otherwise the preview won't be
+displayed by the apps.
+
+*--preview-title*::
+Specify the title for the link preview (mandatory).
+
+*--preview-description*::
+Specify the description for the link preview (optional).
+
+*--preview-image*::
+Specify the image file for the link preview (optional).
+
*-e*, *--end-session*::
Clear session state and send end session message.
+=== sendPaymentNotification
+
+Send a payment notification.
+
+RECIPIENT::
+Specify the recipient’s phone number.
+
+*--receipt* RECEIPT::
+The base64 encoded receipt blob.
+
+*--note* NOTE::
+Specify a note for the payment notification.
+
=== sendReaction
Send reaction to a previously received or sent message.
*--ignore-attachments*::
Don’t download attachments of received messages.
+*--send-read-receipts*::
+Send read receipts for all incoming data messages (in addition to the default delivery receipts)
+
=== joinGroup
Join a group via an invitation link.
*--remove-admin* [MEMBER [MEMBER ...]]::
Specify one or more members to remove group admin privileges
+*--ban* [MEMBER [MEMBER ...]]::
+Specify one or more members to ban from joining the group.
+Banned members cannot join or request to join via a group link.
+
+*--unban* [MEMBER [MEMBER ...]]::
+Specify one or more members to remove from the ban list
+
*--reset-link*::
Reset group link and create new link password
*-d*, *--detailed*::
Include the list of members of each group and the group invite link.
+*-g*, *--group-id*::
+Filter the group list by one or more group IDs.
+
=== listContacts
-Show a list of known contacts with names.
+Show a list of known contacts with names and profiles.
+When a specific recipient is given, its profile will be refreshed.
+
+RECIPIENT::
+Specify the recipients’ phone number.
+
+*-a*, *--all-recipients*::
+Include all known recipients, not only contacts.
+
+*--blocked*::
+Specify if only blocked or unblocked contacts should be shown (default: all contacts)
+
+*--name*::
+Find contacts with the given contact or profile name.
=== listIdentities
*--remove-avatar*::
Remove the avatar
+*--mobile-coin-address*::
+New MobileCoin address (Base64 encoded public address)
+
=== updateContact
Update the info associated to a number on our contact list.
NUMBER::
Specify the contact phone number.
-*-n*, *--name*::
-Specify the new name for this contact.
+*--given-name* NAME, *--name* NAME::
+New (given) name.
+
+*--family-name* FAMILY_NAME::
+New family name.
*-e*, *--expiration* EXPIRATION_SECONDS::
Set expiration time of messages (seconds).
=== sendContacts
Send a synchronization message with the local contacts list to all linked devices.
-This command should only be used if this is the master device.
+This command should only be used if this is the primary device.
=== sendSyncRequest
-Send a synchronization request message to the master device (for group, contacts, ...).
-The master device will respond with synchronization messages with full contact and group lists.
+Send a synchronization request message to the primary device (for group, contacts, ...).
+The primary device will respond with synchronization messages with full contact and group lists.
=== uploadStickerPack
*--ignore-attachments*::
Don’t download attachments of received messages.
+*--send-read-receipts*::
+Send read receipts for all incoming data messages (in addition to the default delivery receipts)
+
*--no-receive-stdout*::
Don’t print received messages to stdout.
signal-cli -a ACCOUNT send -m "This is a message" [RECIPIENT [RECIPIENT ...]] [-a [ATTACHMENT [ATTACHMENT ...]]]
Pipe the message content from another process::
-uname -a | signal-cli -a ACCOUNT send [RECIPIENT [RECIPIENT ...]]
+uname -a | signal-cli -a ACCOUNT send --message-from-stdin [RECIPIENT [RECIPIENT ...]]
Create a group::
signal-cli -a ACCOUNT updateGroup -n "Group name" -m [MEMBER [MEMBER ...]]