Rhein
BetaA native Telium client for Linux, written in Rust and GPUI, with the features of the official client.


Features
Chat
Guild channels with history, edits, replies, reactions, pins, threads and search. Markdown, images and link previews render as they do on the web. Paste or drop files to upload them, and H.264 videos play inline.
Federation
One account, many servers. Invites work across servers, and Rhein keeps a gateway open to each of them.
Encrypted DMs
Direct messages and group chats use MLS with Telium’s profile and interoperate with the web client. Rhein supports the recovery vault, cross-signing, identity continuity, message requests and the encrypted history mirror.
Voice and video
Guild voice and DM calls over mesh or an SFU, end-to-end encrypted with keys derived from MLS. Push-to-talk, per-user volume, echo cancellation, and screen sharing through the desktop portal.
Profiles and presence
Banners, accents and card themes. Rhein can share what you are doing from a Discord-compatible RPC server, from game detection and from MPRIS.
Guilds and bots
AutoMod rules, forums, channel settings, timeouts and nicknames. Bot buttons, selects, cards, modals and ephemeral messages work.
Native
Written in Rust on GPUI, the GPU-rendered UI framework from Zed. Fonts, icons and sounds are compiled into one binary.
Why native
Not a browser in a window.
Most desktop chat apps are a web page shipped with its own copy of Chromium. Rhein is not. It is a Rust program whose UI is drawn on the GPU by GPUI, the framework behind the Zed editor. No bundled browser, no JavaScript runtime, and one binary with the fonts, icons and sounds inside.
It also belongs on your desktop: files and screen sharing go through the desktop portal, audio through PipeWire, and the music you share as your activity comes from MPRIS.
Compatibility
Everything the official client does.
Rhein has the features of Telium's current client: guilds, threads and forums, federation, encrypted DMs and group chats, voice and video calls, screen sharing, profiles, presence and bots. The few still missing are listed below.
Rhein talks to Telium servers directly. It uses the same OPAQUE sign-in, the same guild sessions and gateway, and the same end-to-end encrypted conversations as the official web client, so you can use both side by side.
Its interop tests run the web client's own code against Rhein. Rhein is an independent client, not made by the Telium project.
Status
Open beta.
Rhein is in beta: it works for daily use, and rough edges are expected. Not done yet:
- Read receipts
- Camera capture
- The recovery key
- A gapless switch from mesh to SFU
- Translations
Its cryptography (the OPAQUE sign-in, MLS and call encryption) follows Telium's spec and interoperates with the web client, but nobody has audited it yet. Report security problems as described in SECURITY.md, and other bugs as issues.
Try Rhein
Runs on Linux, on Wayland or X11.
Install