@whonixnetworks/pi-toast
Desktop toast notifications for Pi coding agent via dunst-recv
Package details
Install @whonixnetworks/pi-toast from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:@whonixnetworks/pi-toast- Package
@whonixnetworks/pi-toast- Version
1.1.2- Published
- Jun 8, 2026
- Downloads
- not available
- Author
- whonixnetworks
- License
- MIT
- Types
- extension
- Size
- 20.1 KB
- Dependencies
- 0 dependencies · 1 peer
Pi manifest JSON
{
"extensions": [
"./extensions/toast.ts"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
pi-toast
Desktop toast notifications for the Pi coding agent via dunst-recv and dunst.
Sends a toast when the agent finishes a task, asks a question, or when
the LLM calls the notify tool. Shows human-readable session names
derived from your first message.
Install
pi install npm:pi-toast
Or from a local checkout:
pi install /path/to/pi-toast
Requires dunst-recv on PATH:
pip install dunst-recv
Usage
Agent task complete
When pi finishes responding, a toast shows the session name as title and a brief summary as body:
┌─────────────────────────────────┐
│ Fix the Docker Networking Config│
│ Network reconfigured for labnet │
└─────────────────────────────────┘
User question needed
When pi calls ask_user_question, a critical sticky toast is sent:
┌─────────────────────────────────┐
│ Refactor Auth Module │
│ Which library should we use? │
└─────────────────────────────────┘
LLM-driven notifications
The LLM can call the notify tool to proactively alert:
pi > Send me a toast when the build is done
# Agent runs build, then calls notify("Build", "Tests passed", "normal")
Slash commands
| Command | Description |
|---|---|
/notify on |
Enable toasts (default) |
/notify off |
Disable toasts (persists per-cwd) |
/notify |
Show current status |
Session naming
Pi-toast derives human-readable session names from your first message by stripping filler phrases and applying title case:
| You type | Session name |
|---|---|
| "I need you to fix the Docker networking config" | Fix the Docker Networking Config |
| "please create a backup script for the database" | Create a Backup Script for the Database |
| "add auth middleware to the API" | Add Auth Middleware to the API |
Disambiguators are appended when a name already exists: "Fix Bug (2)".
Notify tool
The LLM has access to a notify tool with these parameters:
| Parameter | Type | Description |
|---|---|---|
title |
string | Short title (≤ 50 chars) |
message |
string | Brief message (≤ 60 chars) |
priority |
low / normal / critical | Default: normal |
Titles and messages are automatically truncated to fit the toast area.
File layout
pi-toast/
├── extensions/
│ └── toast.ts # Pi extension: session naming + notifications
├── package.json
├── tsconfig.json
└── README.md
License
MIT