🟒 ZapFast β€” free WhatsApp app with calls, not a browser tab

AI η”Ÿζˆηš„ζ‘˜θ¦

:bullseye: What you get: A lightweight desktop client for WhatsApp that runs calls and multiple accounts in a standalone window.

:white_check_mark: Start here:

  • ZapFast β€” open-source desktop app for Windows, macOS, and Linux that supports native calls and multiple accounts.
  • Phone sync β€” scan the QR code once to link chats while keeping your phone as the primary device.

:toolbox: Also useful:

  • Account switcher β€” switch between multiple numbers by clicking your profile photo.

:warning: Watch out: Installers are not yet code-signed, so Windows will show a publisher prompt on first run.

:speech_balloon: WhatsApp, in a window of its own. And it rings.

ZapFast v0.20.1 Β· free and open source Β· Windows, macOS and Linux

The three questions people actually ask

Why not keep the tab? A tab stacks a second browser engine on the one you already run, and closing it closes the chat. This is its own window, about 200 MB, waiting in the tray.

Where do my chats live? On your phone, exactly as today. The window keeps a copy so it opens in a blink, and the phone stays the main device.

Is it safe? MIT, public repo, 2,281 stars, a SHA-256 printed for every file. Linking is one QR scan, the same act as WhatsApp Web. Independent of WhatsApp LLC β€” it says so on its own login screen.

What lives in the window

  • :telephone_receiver: Calls β€” voice and video from the chat’s own header, group calls included
  • :1234: Several numbers β€” click your own photo to switch; each keeps its chats, media and keys
  • :star: Stars and pins β€” starred messages get their own place in the rail, pins show for the group
  • :framed_picture: Photos fill the window β€” the arrow keys walk the album
  • :label: Groups from the info panel β€” invite link, admins, who may post
  • :bell_with_slash: Quiet on request β€” the chat picture only, the text hidden, repeats capped

One file. Pick your computer.

  • :window: Windows 10 or 11 β€” the .msi Β· 27 MB
  • :red_apple: Mac, Intel or Apple chip β€” the .dmg Β· 65 MB
  • :penguin: Ubuntu, Debian or Mint β€” the .deb Β· 35 MB
  • :penguin: Any other Linux β€” the AppImage Β· 33 MB

Scan the code with your phone once, and it stays linked from then on.

Arch, Flatpak, Windows on ARM, and what the files are checked against

Arch β€” yay -S zapfast-bin Β· .rpm 35 MB Β· Flatpak 26 MB Β· Windows on ARM 25 MB Β· tarball 35 MB, all one list on the release page

Every file carries a SHA-256 on its release page, so the download is confirmed before it runs. Windows asks once with a publisher prompt, because the installer is not code-signed yet. The .deb is clean: no maintainer scripts, one binary and its icon.

Calls are the newest part. Voice and one-to-one video are the steady path. Group video is the newest of the three, and your own picture blinks for a moment every few seconds while it settles.

Every call in one list, with a call-back on the row, and the same call inside its chat.

Your phone stays the main device. The window keeps up.

8 δΈͺ衞

This is exactly the annoyance I keep hitting with the browser tab, closing it by accident and losing the chat window mid-conversation. The seperate numbers part is what caught my eye though, because I switch between a personal and a work number and keeping their chats apart matters more than I expected.

One small habit that helps me: after linking, I check the linked devices list on the phone once and turn on the quiet mode for the noisy groups first, so the window rings for calls but doesnt buzz for every group message. That way the separate window actually feels calmer than a tab, not just bigger.

1 δΈͺ衞

A dedicated window makes sense when you close tabs by habit and lose the chat. First, install the build that matches your system, then open the app and scan the QR code once with your phone. Keep your phone online at first, because it stays the main device while the desktop window syncs. Use the per-chat mute and starred messages to keep work chats separate from noisy groups. If a call does not ring, check the app notification permission and that the window is allowed to run in the background.

1 δΈͺ衞