Nheko: a native Qt desktop client for Matrix
Desktop client for Matrix using Qt and C++20.
At a glance
- What is it?
- Nheko is a C++20/Qt desktop client for Matrix that aims to feel like a mainstream chat app rather than an IRC client. Here is what ships today, how to install it, and where it stops.
- Who is it for?
- Adopt Nheko if you want a native Qt desktop client for Matrix on Linux, macOS or Windows, and you accept that the project itself says the end-to-end encryption implementation was never audited. Do not adopt it if you need a mobile client, or if you depend on D-Bus plugin integration on Windows or macOS, where it is unsupported.
- Can I use it commercially?
- Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
- Is it still maintained?
- Yes. The repository last received commits 20 days ago.
- What is it written in?
- Mainly C++, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 1, 2026, and from our analysis. They are not legal advice.
Editorial analysis
What Nheko is for, and who it is for
Matrix has a large client ecosystem, and most of it is built for the browser or for mobile. Nheko's stated motivation is narrower: a native desktop app for Matrix that feels more like a mainstream chat app such as Element or Telegram and less like an IRC client. That framing tells you the intended audience. It is for people who live in a desktop Matrix account all day and want a Qt application rather than an Electron shell, on Linux, macOS or Windows. The README is honest that the feature set is still filling in: it says most of what you would expect from a chat application is missing right now, while listing what does exist, including end-to-end encryption, VoIP calls with platform-dependent support, room creation and joining, file and emoji sending with inline widgets for images, audio and files, replies that render as inline widgets, typing notifications, username autocompletion, read receipts, redaction, presence, basic communities support, a ctrl-K room switcher, and light, dark and system themes. One entry on that list matters more than the rest for integration work: a D-Bus API for third-party plugins, which the README notes does not support Windows or macOS.
How Nheko is put together: Qt, C++20 and a D-Bus surface
The repository is a CMake project in C++20 with a Qt front end. The top level holds src/, includes/, resources/ (which carries the QML), third_party/, cmake/, deploy/, man/ and scripts/, plus a deps/ directory referenced by the Makefile for building bundled dependencies. The Makefile exposes the build shapes directly: a debug target that configures CMake with Ninja, CMAKE_BUILD_TYPE=Debug and CMAKE_EXPORT_COMPILE_COMMANDS=1; a release target with CMAKE_BUILD_TYPE=Release; a third-party target that builds deps with USE_BUNDLED_BOOST=OFF; and a ci target that builds dependencies first and then the app with RelWithDebInfo. Packaging is not an afterthought: an AppImageBuilder.yml sits at the top level, im.nheko.Nheko.yaml is the Flatpak manifest, and nheko-nightly.flatpakref and nheko-nightly.flatpakrepo are checked in for the nightly channel. The D-Bus API is the part with the clearest architectural consequence. It is the mechanism by which external tools can drive or observe the client, and the README points to two known consumers, nheko-krunner and rofi-nheko. Because the README states D-Bus support excludes Windows and macOS, that integration surface is effectively a Linux-only feature, and any workflow built on it will not travel to the other two platforms.
Installing Nheko on Linux, macOS and Windows
The README routes most readers to a package manager rather than a source build. On Arch, the stable package is a single command, and a development version exists in the AUR. The README also notes a runtime requirement that catches people out: Nheko requires a secret server to run, so KDE Wallet or GNOME Keyring must be installed and configured if your desktop environment does not already provide one.
sudo pacman -Syu nhekoFor Debian 10 and above or Ubuntu 18.04 and above, Fedora, Mageia 9 and above, and openSUSE, the pattern is the same with the distribution's own tool. Gentoo needs the guru overlay enabled first, and the README warns that if you use GNOME Keyring or KeepassXC as your secrets daemon, the keyring useflag must be enabled on dev-libs/qtkeychain. Nix users can try it without committing to an installation, which is the cleanest way to evaluate it.
nix-shell -p nheko --run nhekoFlatpak is the cross-distribution option, and macOS and Windows have their own routes: a Homebrew cask for macOS 10.14 and above, and Chocolatey for Windows.
flatpak install flathub im.nheko.Nheko
brew install --cask nheko
choco install nheko-rebornAfter launching, the README's first real workflow is registration or login against your homeserver, then creating, joining or leaving rooms and sending invites. Two features are worth knowing on day one: ctrl-K opens the room switcher, and separate profiles are created from the command line with the -p flag, for example -p name. The README does not document a graphical profile switcher, so treat profiles as a command-line feature.
The encryption caveat and other places Nheko is the wrong tool
The README carries a note that should decide adoption for anyone with a security requirement: the current end-to-end encryption implementation is described as mostly stable, but it was never audited, and the project says it cannot make guarantees if you rely on it for security. That is not a hedge buried in a mailing list; it is in the README. If your threat model depends on an audited Matrix client, Nheko is the wrong tool today, regardless of how well the rest of it works. Two smaller boundaries follow from the same document. VoIP support varies by platform, so calls are not a uniform feature across the three desktop targets. And the D-Bus API, which is the hook for launcher integration and similar tooling, does not support Windows or macOS, so plugin-based workflows are Linux-specific. There is also no mobile client here at all: the topics list desktop, Linux, macOS, Windows and Matrix, and nothing else. If you need Matrix on a phone, Nheko is not the answer, and the README's own framing as a desktop app says so.
Nheko against Element, NeoChat, Cinny and FluffyChat
The comparison that matters is not which client has more features but which one is built the way you want to run it. Element is the reference Matrix client and the name Nheko's own README uses when describing the mainstream chat feel it is chasing; it is the broadest implementation, and its scope is correspondingly larger than a desktop-only Qt app. NeoChat is the closest architectural relative, a KDE/Qt desktop client for Matrix, so the choice between the two lands mostly on toolkit and desktop integration rather than on the underlying protocol. Cinny takes a different route entirely: a web client, which means it runs in a browser and avoids a native build and packaging chain at the cost of not being a native application. FluffyChat is built for mobile platforms, which puts it outside Nheko's desktop scope rather than in competition with it. Nheko's distinguishing claim in this group is the one in its README: a native desktop app that feels like a mainstream chat app and less like an IRC client. If that sentence describes what you want, the field narrows to Nheko and NeoChat, and the deciding factors become Qt version, packaging on your distribution, and whether the D-Bus plugin API on Linux is useful to you.
Maintenance, releases and the cost of upgrading
The repository is not archived, and the last push was on 2026-09-11, so development is ongoing. The release cadence is uneven, which is worth planning around: v0.11.3 landed on 2023-02-23, v0.12.0 on 2024-06-12, and v0.12.1 on 2025-08-10. Between those, the nightly channel is the way to track master, with a Flatpak from the project's own repository and a Windows appinstaller that checks the project's servers for updates. That distinction has a practical consequence the README spells out: the Windows appinstaller regularly checks for updates, while the msix does not, so the update path you choose determines whether you get fixes automatically. On the licence side, Nheko is GPL-3.0, and the repository root carries COPYING alongside a Makefile target that runs .ci/licenses.sh. GPL-3.0 is a copyleft licence; if you plan to redistribute a modified build, or to link it into a product, the terms are yours to read, and this is not legal advice. For ordinary desktop use, the upgrade cost is the ordinary one: pick a package channel, and understand whether that channel follows releases or nightlies.
Editorial conclusion
Adopt Nheko if you want a native Qt desktop client for Matrix on Linux, macOS or Windows, and you accept that the project itself says the end-to-end encryption implementation was never audited. Do not adopt it if you need a mobile client, or if you depend on D-Bus plugin integration on Windows or macOS, where it is unsupported. Before rolling it out, verify that a secret service such as KDE Wallet or GNOME Keyring is running, since the README states Nheko requires one, and check whether your platform's package is the v0.12.1 release or a nightly.
Frequently asked questions
How do I use Nheko?
Install it from your distribution's package manager, Flatpak, Homebrew or Chocolatey, then log in or register against your Matrix homeserver and create, join or leave rooms. The README notes that ctrl-K opens the room switcher, and that separate profiles are created from the command line with the -p flag.
What is Nheko?
Nheko is a native desktop client for Matrix written in C++20 with Qt. Its README states the motivation is an app that feels more like a mainstream chat app such as Element or Telegram and less like an IRC client.
How does Nheko compare with NeoChat?
Both are desktop Matrix clients built with Qt toolkits, so the difference is mostly toolkit and desktop integration rather than protocol support. The README does not compare the two, so the decision rests on which Qt stack and packaging fit your system, and whether Nheko's Linux-only D-Bus plugin API is useful to you.
How does Nheko compare with Cinny?
Cinny is a web client, so it runs in a browser rather than as a native application, while Nheko is a native Qt desktop app. The README does not discuss Cinny, so the trade-off is the one between a browser client and a native build and packaging chain.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/nheko-reborn-nheko)