pi-finish-notification
Sends native macOS/terminal notifications with sound when pi coding agent finishes and your terminal isn't active. No config, no frills — just works.
Package details
Install pi-finish-notification from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:pi-finish-notification- Package
pi-finish-notification- Version
1.0.4- Published
- Jun 11, 2026
- Downloads
- not available
- Author
- pmegaocalc
- License
- MIT
- Types
- extension
- Size
- 9.7 KB
- Dependencies
- 0 dependencies · 1 peer
Pi manifest JSON
{
"extensions": [
"./extensions"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
pi-finish-notification
Sends native macOS/terminal notifications with sound when pi finishes. No config, no frills — just works.
Only triggers when the terminal window is not active, so you only get notified when you're in another app.
Supports:
- macOS native: Notification Center with sound via
osascript - Linux native:
notify-send(libnotify / D-Bus) - Terminal escape sequences: OSC 777 (Ghostty, iTerm2, WezTerm, rxvt-unicode) and OSC 99 (Kitty)
- Bell: universal fallback
Install
pi install npm:pi-finish-notification
Then restart pi, or run /reload.
That's it. No config files, no environment variables, no setup. Install and move on.
What it does
- Detects the best notification backend automatically (osascript > notify-send > Kitty > OSC 777 > bell)
- Checks if your terminal window is focused — if you're looking at pi, no notification needed
- On macOS, plays a notification sound so you hear it even with the screen off
Advanced (optional)
| Environment variable | What it does |
|---|---|
PI_NOTIFY_DISABLE=1 |
Disable all notifications |
PI_NOTIFY_SOUND=0 |
Disable sound only |
PI_NOTIFY_SOUND_NAME=Glass |
Custom macOS sound name |
PI_NOTIFY_FORCE_METHOD=osascript |
Force a specific backend |