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.