whatRust: A Lightweight WhatsApp Desktop App Built in Rust

whatRust is a free, open-source WhatsApp desktop app for Linux, Windows and macOS. I built it in Rust with Tauri v2. It runs the official web.whatsapp.com inside the web view your operating system already has, then adds what a browser tab can't: several accounts side by side, a privacy blur, an app lock, a tray icon with unread counts, and updates that only install after their checksum matches. The code is on GitHub under the MIT license, and the app has its own page here: whatRust.
The video is a real recording with my own account. The chats are hidden by whatRust's own privacy blur, the feature you see in the second scene.
whatRust is an unofficial, independent project. It is not affiliated with, endorsed by or sponsored by WhatsApp or Meta.
Why build another WhatsApp desktop app?
I spend my working day on a Linux desktop, and WhatsApp is where clients, my team and my family all reach me. On Linux there is no official app, so the choice was a browser tab that gets lost among forty others, or a community wrapper built on Electron that ships a full copy of Chromium just to show one web page.
I wanted a real desktop app: a window I can switch to with one shortcut, a tray icon that tells me when something is waiting, and a second account for work without logging out of the first. I also wanted it small, so it would not bundle a browser engine I already have.
What does whatRust do?
- Multiple accounts. Run several WhatsApp numbers at once. Each account opens in its own window with a fully isolated session: separate cookies, storage and login, its own unread badge and notifications. The tray shows a combined count.
- Privacy blur. Blur chat names, messages, previews, profile pictures, media and the text box. Press Ctrl+Shift+P in a WhatsApp window to choose what is blurred and how strongly, and set a global shortcut to turn it on or off.
- App lock. A password (hashed with Argon2id) on every platform, or Windows Hello, Touch ID or the Linux fingerprint dialog where your system supports it. Lock on launch, on demand, when the window is hidden, or after a few idle minutes.
- Verified automatic updates. A minute after start and every 6 hours, whatRust asks GitHub for the latest release. It downloads the new version and installs it (or, for .deb and Flatpak, offers it in Settings → Updates) only if the file matches the SHA256SUMS published with that release.
- Desktop pieces. Close to tray, native notifications, launch at startup, a global show/hide shortcut,
whatsapp://links, drag-and-drop files, voice messages, and a download toast with Open and Show in folder. - Your settings. Interface size, a custom download folder, your own app icon, a SOCKS5 or HTTP proxy, and a title bar that hides itself on tiling window managers such as Hyprland.
How is it built?
| Layer | What it does |
|---|---|
| Rust + Tauri v2 | Windows, tray, notifications, accounts, lock, updater and settings, compiled into one native binary |
| WebKitGTK (Linux) | Renders WhatsApp Web; needs WebKitGTK 2.46.1 or newer |
| WebView2 (Windows) | The Evergreen runtime that ships with Windows 11 |
| WKWebView (macOS) | The same engine as Safari; multiple accounts need macOS 14 |
The key decision is not bundling a browser. Electron apps carry their own Chromium and Node.js runtime. Tauri hands the page to the engine the operating system already maintains, so the app's own shell stays around 90 MB, and on most installs browser security fixes arrive with your system updates.
I want to be fair about memory: most of the RAM goes to WhatsApp Web itself, and that grows with your chats, groups and media. It costs roughly the same in any browser-based client. The saving is the shell, not the web content.
How do multiple accounts stay separate?
Each account gets its own data store on disk. On Linux and Windows that is a separate profile directory for the web view; on macOS it is an isolated WKWebView data store, which Apple added in macOS 14. Cookies, local storage and IndexedDB never mix, so two numbers can stay signed in at the same time. Your first account keeps its existing login when you upgrade, so nobody has to scan the QR code again.
How does the privacy blur work?
The blur is a small script that runs only on web.whatsapp.com. It adds CSS filters to the parts of the page you choose: chat names, the last-message previews, every message in the open chat, profile pictures, media and the text box. It is off by default, so an update never blurs anyone's chats without asking. Hovering over a blurred item shows it, which is handy when you need one message and the rest should stay hidden.
Does the app lock encrypt my data?
No, and I say so in the app. The lock controls who can open whatRust's windows. It does not encrypt your WhatsApp session on disk, which stays readable to other software running as your user, the same posture as Signal Desktop. For protection at rest, use full-disk encryption: FileVault, BitLocker or LUKS. If you forget the password, Reset logs out every account and clears the lock. There is no backdoor.
How do updates stay safe?
The updater makes one anonymous request to api.github.com that sends only a whatRust/<version> user agent: no account, no identifiers, no usage data. When there is a newer release, it downloads the files from github.com and checks them against the release's SHA256SUMS before anything is replaced or started. A mismatch, or a release without checksums, is refused and the installed copy stays as it was. You can turn checking or installing off in Settings → Updates.
What does not work yet?
- Calls on Windows and Linux. Voice messages work everywhere and calls work on macOS. WhatsApp Web does not offer calls to Windows browsers, and the Linux web engines lack the calling path WhatsApp needs. I won't disguise your operating system to get around that, so use the phone app for calls there.
- macOS builds are unsigned and Apple Silicon only. The one-line installer clears the quarantine flag for you.
How do I install whatRust?
# Linux (Flatpak, x86_64 or ARM64)
curl -fsSL https://raw.githubusercontent.com/karem505/whatRust/master/install-flatpak.sh | sh
# Linux AppImage or macOS (Apple Silicon)
curl -fsSL https://raw.githubusercontent.com/karem505/whatRust/master/install.sh | sh
# Windows 10/11 (PowerShell)
irm https://raw.githubusercontent.com/karem505/whatRust/master/install.ps1 | iex
Then open whatRust and scan the QR code from WhatsApp on your phone: Settings → Linked devices → Link a device. Every package (.flatpak, .AppImage, .deb, .dmg, .exe, .msi) is also on the latest release.
FAQ
Is whatRust free? Yes. It is MIT-licensed open source, with no paid tier and no account to create.
Does whatRust read my messages? No. It loads the official WhatsApp Web page and adds no message-handling layer. It has no servers of its own.
Can I use two WhatsApp numbers on one computer? Yes. Add the second account in Settings → Accounts and scan its QR code. Each number gets its own window.
Is it an official WhatsApp app? No. It is an independent open-source project and is not affiliated with WhatsApp or Meta.
Built by
I am Abo-Elmakarem Shohoud, CTO and full-stack engineer at Ailigent in Cairo. whatRust and Rusty Inbox, my open-source email client, are personal projects. At work I build internal tools and automate how companies run; if your team needs that, see digital transformation consulting. If your team wants to work faster with ChatGPT and Claude, I also run hands-on AI training.
If whatRust saves you time, a star on GitHub helps other people find it.