Talon icon Talon

Native chat
for Urbit.

Fast chat client for the parts of Urbit you actually use day-to-day. DMs, group channels, reactions, threads, and now voice and video calls between ships. Native on Android, iOS, Linux, macOS, and Windows. Bring your own ship.

Android 8+ · iOS (TestFlight) Linux · macOS · Windows Open source · PolyForm Noncommercial No analytics

What it does

What it isn't

Privacy

The only servers Talon talks to are yours, or ones you chose.

There's no analytics, no third-party SDKs, no telemetry. Chat speaks only to the Urbit ship you point it at. If you turn on AI features or transcription, add the provider whose key you've entered. That's the whole surface for messaging.

Calls need a little more. Signalling stays ship-to-ship over Urbit. Media goes peer to peer when it can, and otherwise through a TURN relay. Party lines mix audio on an SFU that the hosting ship picks. Both run in a small self-hostable sidecar built on Galène and coturn, with a hosted default so calls work out of the box. Background ringing on iOS goes through a small push relay. It sees a device token and which ship is calling, never any content, and it is self-hostable too.

API keys are stored encrypted on-device and only sent to the provider you select. They never reach the Talon developer.

Under the hood

Kotlin + Compose Multiplatform. One shared codebase across Android, iOS and JVM Desktop. Per-platform leaves exist only where they have to, for file pickers, WebRTC bindings, CallKit, on-device AI backends and native notifications. Room for local storage, OkHttp for the SSE channel, kotlinx.serialization for everything on the wire. Calls are a small Hoon agent, %trunk, plus WebRTC. Party lines run on Galène. Mutation-tested on the parsers and wire helpers, with a JVM test suite behind every release.

android
8.0+ (API 26-35)
ios
TestFlight · calls, party lines, video
desktop
Linux · macOS · Windows · JRE bundled
backend
Your Urbit ship
license
PolyForm Noncommercial 1.0.0

Download

Pick your platform. Direct download links resolve to the latest tagged release. Fall back to the releases page for older versions, signature checksums, and release notes.

iOS

In TestFlight, invite-only while it settles. Ask ~nisfeb and you're on the list.

Android

On install, tap the APK. You may need to allow "Install unknown apps" for your browser or file manager. Future updates land via the in-app banner.

arm64-v8a Most modern Android phones (~25 MB). Pick this one if unsure. Download
armeabi-v7a Older 32-bit ARM devices (~20 MB). Download
x86_64 Emulators / x86 tablets (~18 MB). Download
universal Larger fallback (~54 MB). Works on every supported ABI. Download

Linux

chmod +x the AppImage and run it. It needs FUSE 2, which most desktops have by default. The .deb installs system-wide on Debian, Ubuntu and derivatives.

AppImage (any) Portable, self-contained, ~91 MB. Bundled JRE. Download
.deb (Debian / Ubuntu) sudo apt install ./talon_*.deb Download

macOS

Open the DMG and drag Talon to Applications. First launch: right-click → Open → Open. (Unsigned, so a normal double-click is blocked by Gatekeeper.)

.dmg Universal disk image. Bundled JRE. Download

Windows

Double-click the MSI to install. SmartScreen may warn. Click "More info", then "Run anyway".

.msi x64 installer. Bundled JRE. Download

New to Urbit? urbit.org/overview/running-urbit walks you through booting a ship. Once you have the ship's HTTP URL and the +code output, log in inside Talon and you're done.