Session completion notifications
Oracle can raise a desktop notification when a session finishes so you don’t have to babysit long runs.
#Behavior
- Default: on, except when
CIorSSH_CONNECTIONis set (those environments suppress notifications). The notification still fires when there is no TTY. - Scope: fires on successful completion only (errors keep quiet).
- Content:
Oracle🧿 finished – session <slug> · $<cost> · <chars> chars. Cost only shows for API runs where token pricing is known. Character count uses the returned answer text length. - Sound: off by default. Enable with
--notify-soundorORACLE_NOTIFY_SOUND=1.
#CLI flags / env
--notify/--no-notify(defaults to on unlessCI/SSH_CONNECTION).--notify-sound/--no-notify-sound(defaults off).- Env toggles:
ORACLE_NOTIFY=on|off,ORACLE_NOTIFY_SOUND=on|off.
#Desktop backends
Notifications are powered by a macOS-first helper plus toasted-notifier as fallback:
- macOS: OracleNotifier.app (arm64, signed; notarized when built with App Store Connect creds) first; falls back to Notification Center via terminal-notifier
- Linux:
notify-send/libnotify - Windows: native Toasts via ntfy-toast/SnoreToast
If the OS backend is missing, Oracle logs a one-line skip reason instead of failing the session.
macOS note: The bundled terminal-notifier can occasionally lose its execute bit after download. Oracle automatically re-chmods it on first failure; if it still can’t run, clear quarantine manually:
xattr -dr com.apple.quarantine \ \
$(pnpm root)/toasted-notifier/vendor/mac.noindex/terminal-notifier.app
#Sound toggle
Keep sound off during automated or shared environments; enable it when you truly want an audible ping (e.g., --notify-sound).