Desktop app
WhatsApp Zen
A small native macOS client for WhatsApp. Unofficial.
WhatsApp Zen is a native macOS client for WhatsApp. It links to your account as a companion device, like WhatsApp Web, and uses a fraction of the memory of the official app.
I built the interface in SwiftUI and AppKit on top of a Rust core. It has chats and groups, a menu bar panel for quick replies, notifications with inline reply, Touch ID locks, and several accounts. It is not affiliated with WhatsApp or Meta, and using a third-party client can get an account restricted.
Built with Swift, SwiftUI, and Rust.
What it does
- Chats and groups: text, photos, videos, documents, voice messages, stickers, polls, contacts, locations, replies, reactions, mentions, link previews, and editing or deleting for everyone.
- Read receipts, typing indicator, last seen, profile photos, search across all chats, and ⌘K to jump to a chat.
- Pin, archive and mute chats; star, pin and forward messages; drafts, disappearing messages, blocking and chat export.
- A menu bar panel with your recent chats, which you can read and answer without opening the app.
- Notifications with inline reply, a Do Not Disturb pause, and an app lock or per-chat lock with Touch ID.
- Several accounts, each with a name and an icon. Text size, accent colour and a compact list in Settings.
- English, Turkish, Russian, French, German, Spanish, Portuguese and Italian.
Voice and video calls are new and lightly tested. They are one-to-one only and have no echo cancellation, so use headphones. Group calls, posting status updates, view-once media, communities and channels are not supported.
Install
It needs macOS 26 or later on Apple silicon. Install it with Homebrew:
brew install --cask mdenizay/tap/whatsapp-zen
The app is signed and notarized, so it opens like any other. Open it and scan the QR code from your phone: in WhatsApp, go to Settings, Linked Devices, Link a Device. The app updates itself from GitHub releases, and checks each download against the developer signature before installing it.
Read this first
This is an unofficial client. It is not connected to WhatsApp or Meta, third-party clients are against WhatsApp’s terms, and using one can get your account restricted or banned. Messages are stored unencrypted on disk, so turn on FileVault. Nothing is sent anywhere except to WhatsApp’s own servers.
Data lives in ~/Library/Application Support/WhatsAppZen/, one folder per account.
Build from source
You need Xcode 26 or later (or its Command Line Tools) and Rust.
git clone https://github.com/mdenizay/whatsapp-zen.git
cd whatsapp-zen
brew install rustup && rustup toolchain install stable
./build.sh
open "dist/WhatsApp Zen.app"
The Rust core in zen/core wraps the whatsapp-rust library, keeps messages in SQLite and is built as a C static library. The SwiftUI and AppKit interface in app links against it. Run the app with WA_DEMO=1 to see the interface on made-up data without touching any account.