@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).

Packages

Package details

extension

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