# scli

> Terminal user interface for Signal messaging with Vim-like navigation and external editor support

Stars: 537 · Language: Python · License: GPL-3.0 · Categories: Productivity

- Repository: https://github.com/isamert/scli
- Page: https://www.trmn.sh/tools/scli

## Install

- Git: `git clone https://github.com/isamert/scli`
- Pip: `pip install urwid`

## Overview

scli is a terminal user interface for Signal messaging that provides a text-based alternative to the standard Signal clients. It acts as a frontend to signal-cli, combining it with the urwid Python library to create an interactive TUI experience. The tool supports Vim-like navigation with j/k movement keys, g/G for jumping to first/last items, and command entry with the colon prefix.

The interface includes features like emoji reactions on messages (press 'e' or 'R'), message deletion (both local with 'd' and remote with 'D'), clipboard integration for copying messages, and external editor support through the $EDITOR environment variable. Users can send attachments using the :attach command, read file contents with :read, and search through conversations using the '/' key. Optional emacs-like readline bindings are available when urwid_readline is installed.

scli requires signal-cli v0.11.0+ as a dependency and must be linked to an existing Signal account before use. The tool supports contact management for accounts registered as primary devices, conversation history saving, and customizable color schemes for message display. Installation involves setting up signal-cli, installing Python dependencies like urwid, and ensuring DBus is available on the system.

### Installation

```bash
# via Git
git clone https://github.com/isamert/scli
```

```bash
# via Pip
pip install urwid
```

## Alternatives

- [tempy](https://www.trmn.sh/tools/tempy.md): Terminal weather report tool displaying current and near-future conditions without requiring API keys (Python, 194 stars)
- [buku](https://www.trmn.sh/tools/buku.md): Command-line bookmark manager with search, browser import, encryption, and local web UI (Python, 7.2k stars)
- [jrnl](https://www.trmn.sh/tools/jrnl.md): Command-line journal application that creates, searches, and views entries stored as plain text, with optional AES encryption. (Python, 7.4k stars)
- [cheat.sh](https://www.trmn.sh/tools/chubin-cheat.md): Cheat sheet service queried with curl or the cht.sh client, covering 1000+ UNIX/Linux commands, 56 programming languages and several DBMSes. (Python, 41.8k stars)
- [caps-log](https://www.trmn.sh/tools/caps-log.md): Terminal-based journaling tool that saves daily entries as Markdown files with calendar navigation and tag organization (408 stars)

---

Canonical: https://www.trmn.sh/tools/scli
