Native notifications + badge
Dock unread badge and native banners — click to jump to the thread.
Menu bar & background
Menu-bar presence, launch at login, run in background, menu-bar-only mode.
Multiple accounts
Isolated sessions per Google account with a quick switcher. No other client does this.
Shortcuts
Zoom, find in page, new conversation, copy latest 2FA code, global show/hide hotkey.
Private by design
Zero telemetry, local-only session, notarized release. Just a native shell around the web client.
Free & open-source
MIT-licensed. Every feature paid apps lock behind “Pro”, at no cost.
Signing in: choose “Enter your password” and a non-passkey second step (Google prompt, SMS/email code, or authenticator). Passkeys don’t work inside an embedded web view — it’s a platform limitation, not a bug. You only sign in once.
Getting set up
Sign in once and Textem stays paired. Here’s the smooth path:
- Choose “Enter your password” on Google’s sign-in screen — not the passkey option.
- Pick a non-passkey second step: a Google prompt (“Tap Yes” on your phone), an SMS or email code, or an authenticator app.
- Match the emoji to finish pairing. On your phone, open Messages → Settings → Device pairing → “Switch to Google Account pairing,” then confirm the emoji that matches what Textem shows.
Troubleshooting
It only offers a passkey, or won’t let me sign in
Passkeys can’t work inside an embedded web view — that’s an Apple platform limitation for sites we don’t own, not a bug in Textem. On the sign-in screen choose “Enter your password” and a non-passkey second step (Google prompt, SMS/email code, or authenticator).
My phone doesn’t show “Switch to Google Account pairing”
Google is rolling this out gradually, so some accounts don’t have it yet. It’s a server-side rollout that can’t be forced from Textem. Make sure the Messages app on your phone is fully updated, and check again as the rollout expands.
It keeps asking me to re-confirm, or the pairing won’t stick
That’s usually cross-site cookie partitioning. Textem already relaxes tracking prevention on its own data store so Google’s cookies aren’t split between accounts.google.com and messages.google.com. If it still loops, quit Textem fully and reopen it — don’t force-quit while you’re mid-sign-in — then try once more.
Is my data private?
Yes. Textem is just a native shell around Google’s own web client: your session lives locally on your Mac, there’s zero telemetry, and nothing sits between you and Google — no third-party account, no relay server.