@bukutsu/pi-ping
Focus-aware notification and tab-marker extension for the Pi coding agent. Sends native terminal notifications and marks window titles only when unfocused on real work.
Package details
Install @bukutsu/pi-ping from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:@bukutsu/pi-ping- Package
@bukutsu/pi-ping- Version
1.2.4- Published
- Sep 22, 2026
- Downloads
- 116/mo · 26/wk
- Author
- bukutsu
- License
- MIT
- Types
- extension
- Size
- 21 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-ping
Focus-aware notifications and tab marker for the Pi coding agent.
pi-ping alerts you when a run finishes while you are in another window, and marks the terminal tab with [!] until you return. If you are already looking at the terminal, it stays quiet.
Repository: https://github.com/Bukutsu/pi-ping
Install
pi install npm:@bukutsu/pi-ping
Or from GitHub:
pi install git:github.com/Bukutsu/pi-ping
Restart Pi or run /reload in your active session.
What it does
- Notifies only when the terminal is unfocused.
- Adds
[!]to Pi's tab title while a finished run is unread, and restores it when you return or type. - Stays quiet on short turns (under 10s with no tools or errors) and cancelled runs.
- Waits 3 seconds after you switch windows before alerting so quick glances stay silent.
- Alerts once after the run fully settles (no pings during intermediate tool calls or auto-retries).
- Uses native terminal escapes (OSC 9, 99, 777) with
notify-sendfallback on Linux.
Terminal support
Works out of the box with terminals that support DECSET 1004 focus events (Ghostty, Kitty, WezTerm, Alacritty, iTerm2, Foot, Warp, Windows Terminal, and tmux).
Commands
/notify-check: Check focus source, away time, and whether an alert would fire./notify-test: Send an immediate test notification.
Configuration
Set PI_PING_MARKER to customize the tab title marker (default: [!] ):
export PI_PING_MARKER="(!) "
Development
bun install
bun run typecheck
bun test