@pi-archimedes/notify
Delayed desktop notifications with circuit breaker for pi-archimedes
Package details
Install @pi-archimedes/notify from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:@pi-archimedes/notify- Package
@pi-archimedes/notify- Version
1.8.3- Published
- Jul 29, 2026
- Downloads
- 1,935/mo · 340/wk
- Author
- danmademe
- License
- unknown
- Types
- extension
- Size
- 11.5 KB
- Dependencies
- 1 dependency · 2 peers
Pi manifest JSON
{
"extensions": [
"./src/index.ts"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
@pi-archimedes/notify
Delayed desktop notifications with circuit breaker for the Pi coding agent.
Features
- Delayed notification — fires only after a configurable period of inactivity (default 30s), so you're not spammed when actively working
- Circuit breaker — any keystroke immediately cancels a pending notification via raw terminal input listening
- Terminal-aware dispatch — auto-detects your terminal and uses the optimal protocol:
- Kitty → OSC 99 (two-sequence title + body)
- iTerm2 → OSC 9
- Windows Terminal → PowerShell toast (ToastText02)
- Ghostty, WezTerm, others → OSC 777 fallback
- tmux passthrough — all sequences wrapped via DCS for correct rendering inside tmux
- Per-trigger toggles — independently enable/disable notifications for task completion and unanswered questions
- Bus-driven — listens for
agent_endandASK_REQUESTbus events, so it works with any package that emits them
Screenshots
Kitty notification
Notification from Kitty terminal showing title and body via OSC 99:

Installation
pi install @pi-archimedes/notify
Or install the full pi-archimedes meta package for the integrated experience:
pi install pi-archimedes
Settings
| Setting | Type | Default | Description |
|---|---|---|---|
enabled |
bool | true |
Enable desktop notifications |
notifyOnAgentEnd |
bool | true |
Notify when agent finishes a task |
notifyOnQuestion |
bool | true |
Notify when a question needs your answer |
delayMs |
number | 30 |
Seconds to wait before sending notification (stored as ms) |
Settings are stored in ~/.pi/agent/settings.json under the archimedes.notify namespace.
How it works
When the agent finishes a task (agent_end) or a question is asked (ASK_REQUEST), a timer starts. If you don't interact for the configured delay, a desktop notification fires. Any keystroke — even just pressing a key without submitting — cancels the timer immediately.
Terminal compatibility
| Terminal | Protocol | Title + Body |
|---|---|---|
| Kitty | OSC 99 | ✅ |
| iTerm2 | OSC 9 | Body only |
| Windows Terminal | PowerShell toast | ✅ |
| Ghostty | OSC 777 | ✅ |
| WezTerm | OSC 777 | ✅ |
| tmux (any above) | DCS passthrough | ✅ |
Integration
When installed via pi-archimedes (the meta package), the notify package is automatically registered and its settings appear in the /archimedes settings panel. Standalone installs work independently — any package emitting agent_end or ASK_REQUEST bus events will trigger notifications.