Triage is a native macOS menu bar app that adds power-user features to Apple Mail. Single-key shortcuts for archive, delete, reply, forward, search, and block — plus send-and-follow-up reminders, an account dashboard with activity history, and automatic updates. It works with Mail.app, not instead of it.
Requires macOS 14 (Sonoma) or later · Open source on GitHub
Why Triage?
Apple Mail is a solid email client, but it’s missing the keyboard-driven workflow that Gmail users rely on. There’s no single-key archive, no quick block, no way to send an email and automatically set a follow-up reminder. Triage fills that gap — it sits in your menu bar and makes Mail.app feel like it was built for power users.
No kernel extensions, no elevated privileges beyond Accessibility access for keyboard shortcuts. Triage uses AppleScript and standard macOS APIs to enhance Mail.app without replacing it.
Features
Keyboard Shortcuts
Gmail-style single-key shortcuts: d to delete, a to archive, r to reply, f to forward, / to search. Automatically suppressed in compose windows and search fields.
One-Key Blocking
Press b to block a sender or Shift+B to block an entire domain. Blocks are stored as native Mail.app rules — they work even when Triage isn't running.
Send + Follow Up
Press Cmd+Shift+S to send a message and automatically create a 1-week follow-up reminder with a deep link back to the original message.
Account Dashboard
Overview of all accounts with unread counts, inbox totals, and activity history. Per-account detail with hourly, daily, and monthly views.
Keyboard Shortcuts
When Mail.app is the frontmost app, Triage intercepts single keystrokes and translates them into actions:
| Key | Action |
|---|---|
d |
Delete (move to Trash) |
a |
Archive |
r |
Reply |
f |
Forward |
t |
Create Reminder (due tomorrow at 9am) |
b |
Block sender |
Shift+B |
Block entire domain |
/ |
Search all mail |
h |
Remind Me Tonight |
j |
Remind Me Tomorrow |
k |
Remind Me Later (date picker) |
Cmd+S |
Send (remapped to Cmd+Shift+D) |
Cmd+Shift+S |
Send + Follow Up (send and create 1-week reminder) |
Shortcuts are automatically disabled when you’re typing — Triage checks the Accessibility role of the focused element and suppresses shortcuts in text fields, compose windows, search bars, and editable web content areas.
Send + Follow Up
Press Cmd+Shift+S in a compose window to send the message and automatically create a follow-up reminder. Triage captures the subject and recipients before sending, creates a Reminder due in one week at 9am, then polls the Sent mailbox to include a message:// deep link so you can jump directly to the original message when the reminder fires.
Sender and Domain Blocking
Press b on a message to block the sender, or Shift+B to block the entire @domain. Triage creates a native Mail.app rule called “Triage Blocks” that deletes future messages from blocked addresses automatically. The current message is trashed and a confirmation notification appears.
The dashboard includes a Blocks view where you can see all blocked senders and domains — individual blocks in blue, domain blocks in orange — and unblock with a click.
Account Dashboard
The dashboard gives you visibility into your email activity across all accounts:
- Overview — total unread count, per-account inbox stats, and a Today summary with unread/inbox deltas and peak counts
- Per-account detail — stat cards and activity history aggregated by hour (24h), day (7d), or month (30d)
- Blocks — manage all blocked senders and domains
- Shortcuts — built-in keyboard shortcut reference
Menu Bar
Triage lives in your menu bar with a custom triage icon that shows your total unread count. Click it for a quick summary — unread count, shortcut toggle with status indicator, check for updates, last refresh time, and one-click access to the dashboard.
Technical Details
- Native macOS app built with Swift and SwiftUI
- Open source — view on GitHub
- Automatic updates via Sparkle with EdDSA-signed releases
CGEventtap (Accessibility API) for keyboard shortcut interception- AppleScript for Mail.app communication — accounts, messages, mailboxes, and rules
- SwiftData for activity history and snooze tracking
- Privacy-respecting — all data stays on your machine; no network requests beyond update checks, no analytics