prompt-chime
March 21, 2026 · View on GitHub
Cross-platform notification toolkit for AI coding assistants. Get alerted when prompts complete with customizable sounds, toast notifications, profiles, and quiet hours.
Features
- Cross-platform — Windows, macOS, Linux
- Bundled sounds — 4 generated WAV tones (default, success, error, gentle)
- Meme sound presets — 11 chiptune sounds (Mario 1-Up, Zelda secret, Metal Gear alert, etc.)
- Custom sounds — drop
.wav/.mp3files insounds/custom/ - Profiles — switch between sound presets (default, silent, loud, or create your own)
- Per-project overrides — different sounds per workspace
- Quiet hours — auto-mute during specified time ranges (supports overnight wrap)
- Toast notifications — native OS popups (WinRT on Windows 10+, osascript on macOS, notify-send on Linux)
- Volume control — global volume 0-100%
- Zero dependencies — uses OS built-in tools only (python3 optional for config editing)
Prerequisites
| OS | Required | Optional |
|---|---|---|
| Windows | Git Bash, PowerShell | python3 (for manage.sh and meme sounds) |
| macOS | bash | afplay, osascript, python3 |
| Linux | bash | paplay/aplay/pw-play, notify-send, python3 |
Installation
Via Claude Code (Recommended)
/plugin marketplace add pick/prompt-chime
/plugin install prompt-chime@prompt-chime
The plugin registers the Stop hook automatically — you'll hear a notification every time Claude finishes responding.
Via CLI
git clone https://github.com/pick/prompt-chime.git
cd prompt-chime
bash install.sh
This copies files to ~/.claude/notifications/ and registers the Stop hook in ~/.claude/settings.json.
Usage
Skill Mode (via Claude Code)
When installed as a plugin, use the /notification-toolkit skill directly inside Claude Code:
/notification-toolkit status # show current settings
/notification-toolkit list # available sounds
/notification-toolkit preview mario-1up # preview a sound
/notification-toolkit set stop zelda-secret # change notification sound
Just ask Claude naturally — "change my notification to mario-1up", "turn off notifications at night", "make it quieter".
CLI Mode
bash ~/.claude/notifications/manage.sh help # all commands
bash ~/.claude/notifications/manage.sh status # current settings
bash ~/.claude/notifications/manage.sh list # available sounds
bash ~/.claude/notifications/manage.sh test # fire test notification
bash ~/.claude/notifications/manage.sh preview gentle # preview a sound
bash ~/.claude/notifications/manage.sh volume 60 # set volume
bash ~/.claude/notifications/manage.sh quiet on 22:00 08:00 # quiet hours
bash ~/.claude/notifications/manage.sh set stop success # change stop sound
bash ~/.claude/notifications/manage.sh profile create work gentle 50 # custom profile
Meme Sound Presets
Generate 11 chiptune meme sounds (requires python3):
python3 scripts/generate_meme_sounds.py
| Sound | What it is |
|---|---|
metal-gear-alert | MGS "!" alert |
mario-1up | Super Mario extra life |
zelda-secret | Zelda secret discovery |
sonic-ring | Sonic ring collect |
victory-fanfare | Final Fantasy win jingle |
codec-call | MGS codec ringtone |
level-up | RPG ascending arpeggio |
boxing-bell | Ding ding ding |
nintendo-switch | Joycon snap click |
fail-horn | Price Is Right losing horn |
game-over | Arcade game over |
bash ~/.claude/notifications/manage.sh set stop mario-1up
bash ~/.claude/notifications/manage.sh set error fail-horn
Custom Sounds
Drop .wav or .mp3 files into ~/.claude/notifications/sounds/custom/:
cp ~/Downloads/ding.wav ~/.claude/notifications/sounds/custom/
bash ~/.claude/notifications/manage.sh set stop ding
Sound names must use only letters, numbers, hyphens, and underscores.
Configuration
Config lives at ~/.claude/notifications/config.json:
| Field | Type | Description |
|---|---|---|
global.enabled | bool | Master on/off switch |
global.volume | 0-100 | Audio volume percentage |
global.quiet_hours.enabled | bool | Auto-mute toggle |
global.quiet_hours.start | HH:MM | Start time (24h format, e.g. "22:00") |
global.quiet_hours.end | HH:MM | End time (wraps midnight, e.g. "08:00") |
global.toast.enabled | bool | Show native OS notifications |
global.toast.title | string | Notification title text |
global.toast.duration | seconds | How long toast displays |
events.<name>.sound | string | Sound file name (without extension) |
events.<name>.enabled | bool | Whether this event fires |
events.long_running.threshold_seconds | number | Min duration to trigger |
profiles.<name>.sound | string | Sound for this profile |
profiles.<name>.volume | 0-100 | Volume for this profile |
project_overrides.<path>.sound | string | Per-project sound override |
Uninstall
bash uninstall.sh
Contributing
See CONTRIBUTING.md.