Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Install

Telex is a single binary. Install a prebuilt binary, or build from source with Rust.

macOS / Linux

curl -fsSL https://raw.githubusercontent.com/lossyrob/telex/main/install.sh | sh

Windows (PowerShell)

irm https://raw.githubusercontent.com/lossyrob/telex/main/install.ps1 | iex

With Rust (any platform)

cargo install --git https://github.com/lossyrob/telex --features entra

The entra feature adds Azure Entra authentication for Postgres backends; the published release binaries include it. Omit the feature if you do not need it.

Prebuilt binaries are also attached to each GitHub release.

Supported platforms

Prebuilt release binaries are published for Windows (x86_64 and ARM64), Linux (x86_64), and macOS (Apple Silicon and Intel). On other platforms — including ARM Linux (Raspberry Pi, Graviton, ARM WSL) — install from source with cargo install (the install script points ARM-Linux users there automatically).

Verify

For an installation that must not change the Windows user PATH, set $env:TELEX_NO_MODIFY_PATH = '1' before running install.ps1. The default still adds the install’s bin directory to user PATH when absent.

Both installers accept the same trusted mirror overrides as telex upgrade: TELEX_UPGRADE_API_BASE (default https://api.github.com) and TELEX_UPGRADE_DOWNLOAD_BASE (default https://github.com). These are intended for controlled release validation or an explicitly trusted mirror, not a new authentication boundary. Do not send a real GITHUB_TOKEN to a fixture or untrusted endpoint. An isolated install root alone does not isolate the daemon, configuration, or database.

telex --version

Updating

Once telex is installed, update in place to the latest compatible public release:

telex upgrade

This discovers the latest GitHub release, downloads this platform’s asset, verifies its SHA-256 checksum, and installs it through the versioned layout (keeping the previous version for telex rollback). Pin an explicit release with telex upgrade --version vX.Y.Z, or install a local build with telex upgrade --from <binary>. See Operating telex for details, including the fail-closed behavior and GITHUB_TOKEN for higher API rate limits.

Retaining a previous executable does not guarantee a safe downgrade. In particular, schema-3 migration is not reversed by rollback: v0.1.2 supports only schema 2 and refuses schema-3 stores. Back up before upgrading and reattach wanted addresses after ordered daemon replacement.

Initialize (optional)

Telex creates its local store and schema on first use, so no init step is required for the default SQLite store. To pre-create and validate a backend (useful for Postgres, to surface connection or permission errors early):

telex init --backend <name>

Shell notes

Examples in this guide use POSIX shell syntax. On Windows PowerShell, set environment variables with $env: instead of export, for example $env:TELEX_SESSION_ID = "quickstart". The binary is telex.exe, invoked as telex.

Watcher runtime

Watcher is a separate application, not part of the single-binary Telex release install. The Watcher installation and launch guide provides its supported Windows/Linux bootstrap, default discovery record, backend/authentication prerequisites, shutdown and rollback. Session-group stall monitoring starts from that verified record. Both Telex and Watcher need the entra feature when the existing backend profile uses Entra.

Copilot CLI plugin

If you drive agents with GitHub Copilot CLI, install the telex plugin from the marketplace so messages arrive as turns (push delivery):

copilot plugin marketplace add lossyrob/telex
copilot plugin install telex@telex

Release install scripts print a tag-pinned marketplace command (copilot plugin marketplace add lossyrob/telex#vX.Y.Z) so the plugin and the installed binary stay on the same release. See the Copilot CLI push delivery guide.