Skip to content

pick/prompt-chime

Repository files navigation

prompt-chime

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/.mp3 files in sounds/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.

License

MIT

About

Cross-platform notification plugin for Claude Code — meme sound presets, toast notifications, profiles, and quiet hours

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors