jwoglom
signal-curses
Python

Curses-backed terminal interface for Signal using signal-cli

Last updated May 20, 2026
77
Stars
9
Forks
9
Issues
0
Stars/day
Attention Score
16
Language breakdown
Python 96.7%
Makefile 3.3%
โ–ธ Files click to expand
README

signal-curses

Curses-backed terminal interface for Signal using signal-cli and npyscreen.

Setup ===== On Debian-based systems, make install should properly set up the required dependencies.

  • Install signal-cli (see Installation). Because signal-curses depends on JSON output features, only versions of signal-cli >= 0.6.1 will work.
  • Install libunixsocket-java (see DBus service)
  • Install pydbus dependencies, if needed (see Requirements)
  • Install python deps with
    install
    . If pipenv is not installed, run
    install pipenv
    .
  • Run with
    main.py -u '+12345678901'
    , giving your Signal phone number with country code (e.g. +1)
  • If signal-cli has not been run before, you will be prompted to link your phone with your computer. Scan the given terminal QR code in the Signal app under Settings > Linked Devices, and restart signal-curses. Your contacts and groups should appear, and you should be able to send messages.
Screenshots ===========

Setup dialog

Setup dialog

Link dialog

Link dialog

Setup finished message

Setup finished message

User and group list

User and group list

In-message UI

In-message UI

Ctrl-X menu

Ctrl-X menu

๐Ÿ”— More in this category

ยฉ 2026 GitRepoTrend ยท jwoglom/signal-curses ยท Updated daily from GitHub