Desktop Gmail · Windows daily driver

Pulse Mail

A Gmail client that lives in the tray, not in a browser tab. Stays running, toasts new mail in seconds, and puts 2FA codes on the notification so you can copy them without hunting the inbox.

Free, MIT. Windows 10/11 is the one that’s been lived in. macOS (Apple Silicon) and Linux ship experimental builds. Google still shows an “unverified app” warning until verification finishes — expected, and capped at about 100 users until then.

Pulse Mail
Pulse Mail opening the inbox, reading a thread, and copying a verification code from a notification

What it actually does

Claims below match the current app. Windows is the daily driver; the other platforms compile and ship.

Tray + push

Stays in the tray. IMAP IDLE is the doorbell, then a cheap Gmail history sync. Not a 60-second poll loop.

Codes on the toast

Verification codes and magic links are pulled out of the mail. Copy from the notification, the row chip, the reader, or Shift+C.

Local cache

SQLite + FTS5 on this computer. Search hits the cache first; Gmail server search fills in older mail.

Hostile HTML stays in a box

Sanitized in Rust, rendered in a sandboxed iframe. Remote images off until you click. Links open in your system browser.

Undo send

A 5–10 second grace window before Gmail actually sends. Compose, reply, and labels work like Gmail’s shortcuts.

Several accounts

Per-account inboxes plus “All inboxes”. Tokens live in the OS keychain, one entry per account.

The app, not a crop

Full window from the demo mailbox — fictional senders, one Northwind OTP thread. Pick a view.

Why Pulse Mail asks for Gmail access

Pulse Mail is a desktop email client. When you click Sign in with Google it requests access to your Gmail so it can:

  • read, search, send, archive, star, label, and trash mail through the Gmail API;
  • keep an IMAP connection open (IDLE) so new mail can toast within seconds instead of polling;
  • show your Google account name and photo in the account switcher (openid + profile).

There is no Pulse Mail server. The app talks to Google (OAuth, Gmail REST, IMAP) from your computer, and to this project’s GitHub Releases for optional self-update. Mail, search, and tokens are not uploaded to us — we don’t have a place to put them.

The Gmail permission is the broad https://mail.google.com/ scope because IMAP XOAUTH2 requires it. Tokens go in the OS credential store. The mail cache is a SQLite file in your user profile; it is not encrypted at rest. Details, including how to revoke access and delete the cache: Privacy policy.

Download

Installers are on GitHub Releases. Pick the file for your OS from the latest release (currently v0.4.3).

Daily driver

Windows 10/11 (x64)

Pulse.Mail_*_x64-setup.exe (per-user) or the .msi.

SmartScreen may warn once — the installer isn’t Authenticode-signed yet. More info → Run anyway.

Get Windows
Experimental

macOS (Apple Silicon)

Pulse.Mail_*_aarch64.dmg. Intel Macs are not built.

Unsigned. After dragging to Applications: right-click → Open the first time.

Get macOS
Experimental

Linux (x64)

.AppImage (self-updates), .deb, or .rpm.

Tray needs an appindicator; notification buttons work on GNOME/KDE.

Get Linux

After install: open the app → Sign in with Google. Google will say it hasn’t verified this app. That’s the same ~100-user cap as any unverified Gmail client. Building from source uses your own Cloud desktop client — see the repo README.

Privacy, in one screen

No Pulse Mail server

No account with us, no cloud mailbox, no telemetry, no ads, no sale of data, no AI training on your mail.

Tokens in the OS keychain

Refresh tokens live in Credential Manager / Keychain / Secret Service. Access tokens stay in memory.

You can leave

Sign out in the app, or remove Pulse Mail at Google Account permissions. That also deletes the local cache for that account.

Full privacy policy · Terms of service · MIT license