Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Build Status

Pure Kotlin Matrix client.

  • Contains zero lines of HTML or any form of XML. The entire UI is defined in Kotlin. Rendering is done using native implementations.

  • Features inherited from the Matrix platform, such as:

    • Communicate with users of other platforms without falling back to plain text. There exist various bridges that map rich features to and from Matrix.
    • You can set up your own server to take control of security and availability.
  • Use async programming (kotlinx.coroutines) for performance, code clarity and multi-platform portability.

  • Built on the Kotlin library koma. Android and iOS versions will share the same library compiled for each platform. UI will be recreated using each native SDK. Code will be shared as much as is reasonable, but not any more.

  • Small things that may come in handy

    • Links in plaintext messages are identified and preview is shown whenever applicable
    • Known media type are auto-loaded, image links are converted to images
  • Display Emoji on all OS using Emoji One

    • Built-in virtual emoji keyboard
  • Fetch chat history to allow you to read early messages

  • Store all data to disk. So it starts very fast and previous chats appear instantly. Incremental sync puts less stress on servers and also make sync much faster

  • Reasonably sized: smaller than 50MB when packaged as a stand-alone binary.




Builds are provided on the Releases page.

Option a: Single binary executable

This is the easiest option, download a single file and launch with one click.

For Linux, download a file with the .AppImage extension.

Note that you may need to mark the file as executable.

Option b: Executable jar

If you have a JRE (version 11 or newer recommended) installed, Continuum can run on it. The advantage of this option is smaller package size (about 20MB).

Download a jar file for your platform (the macOS version is marked as osx). Then you can launch Continuum with the command java -jar followed by the jar file. Or, depending on the set-up, you may be able to launch Continuum with a double-click.

Note that the jar files are built for each platform as they contain natively compiled code.

Option c: Use the source

git clone

In the source code directory, run ./gradlew shadowjar to build a jar package that includes all dependencies. The output will be a single file in build/libs/, to launch it, use the java command:

java -jar build/libs/continuum-desktop-*-bundled.jar

Alternatively, you can also run ./gradlew runtime, and a release that does not depend on the java command will be built. The output is a directory build/image/, a launcher is in the subdirectory bin:


The launcher can be run from anywhere to launch Continuum.

Signing in

Use your matrix ID, such as (Support for other forms of username coming soon) and your password to login

A token will be saved so the next time you login, password doesn't need to be entered.