GIF search, voice messages, threads that work properly, and several accounts signed in at the same time. It's written in Qt 6 on top of the official Rust Matrix SDK, so it behaves like a desktop app instead of a website in a window.
All four of these work today. Lightning is still young, so some of it is rough around the edges.
GIPHY and KLIPY sit side by side, with trending, search, categories, recents, safe search and an autoplay setting. GIFs send as normal Matrix media and get encrypted like any other attachment. Star one, in the picker or in a chat, and it goes to your Saved list.
The provider only ever sees what you typed in the search box. Not your Matrix ID, not the room, not your messages.
Hit record, watch the level move while you speak, then send it to a room or straight into a thread. They go as mono Opus (MSC3245) through the SDK, so encryption is handled the same way as any other upload.
Threads take text, images, files and voice notes, encrypted rooms included.
Switch between accounts on different homeservers without logging in again. Each one gets its own SDK and its own encryption store, and only the one you're looking at syncs.
Logging in happens in two steps, so a device the server has just created can't end up attached to another device's keys.
A signed manifest (Ed25519) sets the exact filename, size and SHA-256 of an update. Lightning checks the signature over the raw bytes before it reads any of the fields, and if that check fails the update stops there. There's no "install anyway" button.
A manifest can name a file to download. It can't name a command to run.
These come from Lightning's demo mode, which uses made-up *.example accounts and local test media. No real conversations.
Set per account, so a work login and a personal one do not have to look the same. Every one is checked for WCAG-AA contrast on every surface.
matrix: links and matrix.to links. You can knock, and take a knock back. If a join is refused, you get told why.The interface, the app's state and the Matrix work are kept apart.
QML only draws the interface. It never touches the protocol, your credentials, encryption or storage. The mock backends used in development aren't compiled into releases.
Released 2026-08-19 · every release comes with a SHA256SUMS file
You'll get an "unknown publisher" warning from SmartScreen. If you got the file from the release page above, pick More info → Run anyway. We've applied to the SignPath Foundation and the application is in progress, so no release is signed today.
All three Windows formats install for your user only. None of them needs admin rights, and none of them touches PATH, file associations, URL handlers, services, scheduled tasks, firewall rules or autostart.
Windows has no way to check a download against a checksum without a command prompt, so the thing that protects you here is where you get the file: use the release page linked above, and nothing that mirrors it.
A macOS build is in progress. There is nothing to download yet, and no date -- when there is a release it appears on the GitHub releases page with everything else.
Notarising needs a paid Apple Developer account, and there is no company behind Lightning to hold one. macOS will refuse to open the app the first time and say it cannot check it for malicious software. That is expected. The three steps below clear it for good, and none of them needs the Terminal — but because you are the one vouching for the app, download it only from the GitHub releases page linked above.
Drag Lightning into your Applications folder, then double-click it. macOS blocks it and offers you Done or Move to Bin — choose Done. This step is not optional: the button in step 2 only appears once macOS has blocked the app at least once.
Go to Apple menu → System Settings → Privacy & Security and scroll down to the Security section. A line saying Lightning was blocked is waiting there with an Open Anyway button next to it. Click it and confirm with Touch ID or your login password.
One last dialog asks whether you are sure. Click Open. Lightning starts, and from then on it opens by double-click like any other app — you only do this the first time, and again after an update replaces the app.
On macOS 14 and earlier there is a shortcut: Control-click the app, choose Open, then Open again. macOS 15 removed it, so the route above is the one that always works.
The route we actually test is the repo's Nix flake on Linux, with Qt 6.5+ and Rust from the dev shell. docs/build-and-test.md
Removing Lightning takes the app and its shortcuts and leaves your session, settings and message stores where they are. Those go when you sign the account out.
No analytics, no telemetry, no crash reports. Apart from the homeserver you signed in to, the only outside services Lightning talks to are the GIF providers, and only while the GIF picker is open.
It's the only thing that decides which versions exist and what their bytes should hash to. Downloads come from GitHub, but Lightning never calls the GitHub API or reads anything GitHub says about a release. The download URL is part of the signed manifest, and whatever comes back is checked against a hash that was fixed before the download started. Someone who took over the download host could break your download. They couldn't push you an update.
Lightning is in the Matrix.org client directory, listed as Alpha for Windows and Linux. That's a listing, not an endorsement. The Matrix.org Foundation hasn't certified or approved anything here.
There's a 1:1 voice stack in the code, with MSC2746 signalling and a WebRTC engine, but it's switched off on purpose. Nobody has confirmed an answered call over a real network yet, so the button says "coming soon" instead of pretending otherwise.
A homeserver can't search messages it can't read, so full-history search only works in unencrypted rooms. Encrypted ones search the part of the timeline you've loaded, and Lightning says as much instead of quietly giving you fewer results.
There's been no formal security audit, and no release is code-signed. Anything touching encryption gets reviewed carefully and has to come with tests, but that isn't the same as an audit.
Things still move around: APIs, the interface, the way features behave. Some are experimental, and space-restricted join rules can be seen but not edited. If you need something to interoperate with another client, test it rather than assume it. This isn't a finished product.
Bugs and questions are both welcome, either in the room or in the issue tracker on GitHub.
#lightning:matrix.smetonis.netIt's all public, under GPL-3.0-or-later. The code, the full release history and the build scripts are all on GitHub.
One maintainer, no company, no income. Donations cover CI, the release server, and eventually that signing certificate.
Donate →