@feli-santos/pi-notify-macos
macOS desktop notifications for pi when it needs input, finishes, or fails. Click jumps back to the terminal (Ghostty, Terminal.app, VS Code).
Package details
Install @feli-santos/pi-notify-macos from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:@feli-santos/pi-notify-macos- Package
@feli-santos/pi-notify-macos- Version
1.0.0- Published
- Oct 25, 2026
- Downloads
- 338/mo · 21/wk
- Author
- feli-santos
- License
- MIT
- Types
- extension
- Size
- 193.5 KB
- Dependencies
- 0 dependencies · 1 peer
Pi manifest JSON
{
"extensions": [
"./index.ts"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
pi-notify-macos
macOS desktop notifications for the pi coding agent. Click a notification to jump back to where pi is running.
| Event | Notification |
|---|---|
| pi asks you something / waits for approval | pi · Needs input with the question |
| a run finishes | pi · Done with the last reply |
| a run fails | pi · Failed with the error |
Nothing is shown while your terminal is the frontmost app.
Install
pi install npm:@feli-santos/pi-notify-macos
Terminals
| Terminal | Banner from | Click |
|---|---|---|
| Ghostty | Ghostty (native OSC 777) | focuses the exact tab |
| Terminal.app | Terminal | focuses the exact tab |
| VS Code | Visual Studio Code | brings VS Code forward |
Enable notifications for the terminal app in System Settings → Notifications. In Ghostty, desktop-notifications must be on (the default).
How it works
Ghostty shows notifications itself, so the extension only writes an escape sequence. Terminal.app and VS Code ignore it, so a tiny bundled helper (notifier.app, source in notifier.swift) posts the banner under that app's identity and stays alive just long enough to report a click. There is no background service.
To rebuild the helper from source: ./build.sh (needs Xcode Command Line Tools).
Limitations
- macOS 13+ only.
- The helper uses
NSUserNotificationCenter, deprecated by Apple but the only API that can post as another app. A future macOS may break it. - If pi reloads while a banner is up, clicking that banner does nothing.
License
MIT