ZapTide links to your phone through whatsapp-rust. It uses a native desktop interface instead of a browser engine. Messages are stored locally in an encrypted archive.
- Chat, search and send text, replies, reactions, polls, voice notes, stickers and attachments. Older messages load from the archive or your phone.
- Add and switch WhatsApp accounts from the avatar above the chat list. Each account keeps its own local messages and settings. Notifications name the receiving account when several are added, and open the right conversation. Remove Account… unlinks that account and deletes its local data only.
- Contact messages show names and phone numbers with actions to copy a number,
add the contact to your contacts app, or message it on WhatsApp.
Use Attach → Contact to share a saved WhatsApp contact or choose a
.vcffile through the system file chooser. Preview the contact before sending. - Link previews load in the composer before sending. Each account's setting is available in its Profile dialog and syncs with that account's phone. Loading a preview contacts the site directly while composing, without proxies or redirects. Private and reserved network destinations are blocked. Removing the preview keeps it dismissed until the link changes or leaves the draft. Long links wrap in the input while preserving the space above and below the text.
- Photos sent together appear as one album in a single bubble, and files can be dropped anywhere in a conversation to attach them.
- The sticker picker shows your recently used stickers from your phone and stickers you sent or saved locally. Stickers received from other people stay in chats and do not appear in the picker automatically.
- Read and answer quick-reply buttons and single-select lists when a sender delivers them. Mentioned contacts show their saved names in messages and copied transcripts; unknown contacts can show their WhatsApp name on hover.
- Get desktop notifications, see typing and delivery status, and keep chat read state, mute settings and locks in sync with your phone. Chats already stored on this computer appear even when that settings sync cannot be read from your phone, and a notice says so; locked chats stay locked until the phone's settings arrive. Lock recovery runs separately from mute and pin recovery, so a failure in those settings cannot hold back the phone's locks. For a new link, the ten second grace period starts when settings recovery begins; time spent waiting to pair does not count.
- When reading older messages, new arrivals keep your position and provide a button to return to recent messages.
- Use light, dark or custom themes. Navigate with keyboard shortcuts and use screen-reader labels; accessibility support is still incomplete.
Videos and documents open in your default desktop apps. Calls, status posts, communities and group administration are not supported. Newsletter channels are read-only. Messages with disappearing timers remain in the local archive after they expire on your phone.
Download a Flatpak bundle or AppImage for x86_64 or aarch64 from GitHub Releases.
With a Flathub remote configured, install the downloaded .flatpak bundle:
flatpak install --user ./zaptide-vX.Y.Z-x86_64.flatpakFor an ARM64 system, use the aarch64 bundle instead.
Save the downloaded AppImage as zaptide.AppImage, make it executable and run it:
chmod +x ./zaptide.AppImage
./zaptide.AppImageUpdate an AppImage in place with AppImageUpdate; it downloads only what changed.
On first launch, use WhatsApp's Linked devices menu to scan the QR code or link with your phone number. Recent history may take a few minutes to arrive.
The message archive is encrypted with a key held by your OS keyring. Keep both
the archive and the keyring credential when backing up or moving a profile:
archive.db alone cannot be decrypted. If the keyring is locked, unlock it and
retry. If the key is missing, restore the original credential store rather
than replacing the key or deleting the archive.
Device credentials, downloaded files, saved stickers and settings are not encrypted by ZapTide. Use full-disk encryption if you need to protect those files and backups. ZapTide keeps its data separate from ZapFast, FastsApp and FastWhatsApp; link it as a separate companion device.
Selecting an emoji returns keyboard focus to the message input, so you can keep typing or use your configured Return-to-send behavior without clicking the input.
See CONTRIBUTING.md for reporting issues, local checks, and the pull-request workflow. Report vulnerabilities privately using SECURITY.md. See ARCHITECTURE.md for how the code is laid out, and PACKAGING.md for build dependencies and Flatpak packaging.
ZapTide is a hard fork of ZapFast by Carmine Paolino. It started from ZapFast's code and has since diverged: the interface is a native GTK4 and libadwaita app built with Relm4, and it supports several accounts at once. It keeps its own data folders and keyring entry, separate from ZapFast's.
ZapTide is unofficial and is not affiliated with WhatsApp or Meta. Using an unofficial client may violate WhatsApp's terms and put your account at risk.
Licensed under MIT. The original code is © Carmine Paolino; see the license file.
