Notification Styles
Choose between two desktop notification styles:- Overlay (Default)
- Standard
Large, visible banners that appear on all screens.Technology:Configuration:
- macOS: JXA Cocoa overlay
- WSL/MSYS2: Windows Forms popup
- Linux: Custom implementation
- Appears on top of all windows
- Click to focus your terminal (Ghostty, Warp, iTerm2, Zed, Terminal.app)
- iTerm2: clicks focus the correct tab/pane/window — not just the app
- Customizable themes (macOS only)
- Configurable position and auto-dismiss timing
Overlay Themes (macOS)
Customize the appearance of overlay notifications with built-in themes:jarvis (Circular HUD)
jarvis (Circular HUD)
Inspired by Iron Man’s JARVIS interface.Features:
- Circular HUD with rotating arcs
- Graduation ticks around the perimeter
- Progress ring animation
- Tech-forward aesthetic
glass (Glassmorphism)
glass (Glassmorphism)
Modern glassmorphism design with blur effects.Features:
- Frosted glass panel
- Accent color bar on the left
- Progress line at bottom
- Timestamp display
- Soft shadows and blur
sakura (Zen Garden)
sakura (Zen Garden)
Peaceful Japanese zen garden aesthetic.Features:
- Bonsai tree illustration
- Animated cherry blossom petals
- Soft pastel colors
- Calming, minimalist design
Default (No theme)
Default (No theme)
Simple, minimal overlay without custom styling.Set default:Or omit the
overlay_theme key entirely.Positioning
Control where overlay notifications appear on screen:top-center
Auto-Dismiss Timing
Set how long notifications stay visible before automatically dismissing:Set to 0: Notifications persist until clicked
Project Labels
Customize the project name shown in notification titles:Auto-Detection Priority
notification_title_override(config).peon-labelfile in project rootproject_name_map(path pattern matching)- Git repository name
- Directory name
Override for Specific Project
Map Paths to Labels
Define labels for multiple projects:* wildcards for flexible path rules
Create .peon-label File
Place a.peon-label file in your project root:
notification_title_override.
Message Templates
Customize notification text for each event type:Available Template Variables
| Variable | Description | Available In |
|---|---|---|
{project} | Project name (auto-detected or overridden) | All events |
{summary} | Event summary or message | All events |
{tool_name} | Name of the tool being used | permission, stop |
{status} | Success/failure status | stop |
{event} | Event category (e.g., task.complete) | All events |
Event Types
| Key | When It Fires |
|---|---|
stop | Agent finishes task |
permission | Tool needs approval |
error | Tool or command fails |
idle | Agent waiting for input |
question | Agent has a question |
Configuration
Independent Controls
Notifications, sounds, and mobile push work independently:Common Combinations
Mobile Notifications
Get push notifications on your phone when tasks finish or need attention.Quick Start (ntfy.sh — free, no account)
- Install ntfy app on your phone
- Subscribe to a unique topic (e.g.,
my-peon-notifications) - Run:
Supported Services
- ntfy.sh
- Pushover
- Telegram
Free, open-source, no account requiredSecurity tip: Use a long, random topic name to prevent others from subscribing
Mobile Commands
Testing Notifications
Send a test notification to verify your setup:Related Configuration
Sound Events
CESP event categories and when sounds play
Sound Packs
Browse 165+ packs and customize notification themes