Send macOS desktop and mobile push notifications from Claude Code. Use when: completing background tasks, alerting on errors, notifying at pipeline gates, or any time the user should be alerted about something happening outside the active session. Supports terminal-notifier (rich, clickable), osascript (fallback), and ntfy.sh (mobile push).
Send notifications to the user's desktop or phone.
Run the notify script from any skill, worker, or session:
bash <skill-dir>/scripts/notify.sh "Title" "Message" [priority] [url] [run-id]
| Parameter | Required | Default | Description |
|---|---|---|---|
| Title | Yes | "Claude Code" | Notification title |
| Message | Yes | "Task complete" | Notification body |
| Priority | No | "default" | default, high, or urgent. High/urgent play sound and send mobile push. |
| URL | No | none | Clickable URL (terminal-notifier only). Opens on notification click. |
| Run ID | No | "default" | Group ID for notification replacement. Same run-id updates in place. |
| Priority | Desktop sound | Mobile push (ntfy) | Use case |
|---|---|---|---|
default | No | No | Phase completion, progress updates |
high | Yes (Glass) | Yes | Errors, gates, pipeline complete, PRs ready |
urgent | Yes (Glass) | Yes (bypasses DnD) | Critical failures |
# Simple notification
bash <skill-dir>/scripts/notify.sh "Pipeline" "Research complete"
# High priority with PR link
bash <skill-dir>/scripts/notify.sh "Pipeline" "PR #45 ready for review" "high" "https://github.com/org/repo/pull/45"
# Grouped notification (updates in place)
bash <skill-dir>/scripts/notify.sh "Pipeline" "Worker 2/4 complete" "default" "" "pipeline-run-123"
bash <skill-dir>/scripts/notify.sh "Pipeline" "Worker 3/4 complete" "default" "" "pipeline-run-123"
Uses osascript which is available on all macOS systems. For richer notifications:
brew install terminal-notifier
This adds: clickable URLs, notification grouping/replacement, and custom sounds.
jordan-claude-pipeline)export NTFY_TOPIC="jordan-claude-pipeline"
Or add to ~/.claude/settings.json env block. Notifications with high or urgent priority will be pushed to your phone.