Problem
Session start, stop, and extend notifications display the app name and icon but the message body is missing. Install-time notifications ("Thanks for the download!") work correctly with full body text.
Root Cause (researched)
The -sender flag passed to terminal-notifier is broken on macOS Ventura+ (13+). It causes the notification body to be silently suppressed while the title still renders.
Documented in multiple upstream issues:
The -group flag combined with -sender makes it worse — macOS gets confused about which app owns the notification.
Additionally, Notify() runs in a goroutine. For CLI commands that exit immediately (start, stop, extend), the process can exit before terminal-notifier finishes delivering the full notification.
Why install notifications work
The install welcome notification fires via NotifySync() before Awake.app is built, so it falls through to osascript which works reliably.
Proposed fix
In engine/notify.go, for both Notify() and NotifySync():
- Remove
-sender and -group flags from terminal-notifier calls
- Make
Notify() synchronous (remove goroutine) so the process doesn't exit mid-delivery
- If terminal-notifier still drops bodies after removing
-sender, fall back to osascript as primary with Awake.app as a future upgrade path when terminal-notifier gets a Tahoe-compatible release
Environment
- macOS 26.3 (Tahoe)
- terminal-notifier 2.0.0 (Homebrew)
- Awake.app is properly codesigned (
Identifier=com.awake.notifier)
Files
engine/notify.go — Notify() line 158, NotifySync() line 85
Problem
Session start, stop, and extend notifications display the app name and icon but the message body is missing. Install-time notifications ("Thanks for the download!") work correctly with full body text.
Root Cause (researched)
The
-senderflag passed to terminal-notifier is broken on macOS Ventura+ (13+). It causes the notification body to be silently suppressed while the title still renders.Documented in multiple upstream issues:
-sendersuppresses banner display-senderhangs on Ventura-senderentirelyThe
-groupflag combined with-sendermakes it worse — macOS gets confused about which app owns the notification.Additionally,
Notify()runs in a goroutine. For CLI commands that exit immediately (start, stop, extend), the process can exit before terminal-notifier finishes delivering the full notification.Why install notifications work
The install welcome notification fires via
NotifySync()beforeAwake.appis built, so it falls through toosascriptwhich works reliably.Proposed fix
In
engine/notify.go, for bothNotify()andNotifySync():-senderand-groupflags from terminal-notifier callsNotify()synchronous (remove goroutine) so the process doesn't exit mid-delivery-sender, fall back toosascriptas primary with Awake.app as a future upgrade path when terminal-notifier gets a Tahoe-compatible releaseEnvironment
Identifier=com.awake.notifier)Files
engine/notify.go—Notify()line 158,NotifySync()line 85