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/.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

OSRequiredOptional
WindowsGit Bash, PowerShellpython3 (for manage.sh and meme sounds)
macOSbashafplay, osascript, python3
Linuxbashpaplay/aplay/pw-play, notify-send, python3

Installation

/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
SoundWhat it is
metal-gear-alertMGS "!" alert
mario-1upSuper Mario extra life
zelda-secretZelda secret discovery
sonic-ringSonic ring collect
victory-fanfareFinal Fantasy win jingle
codec-callMGS codec ringtone
level-upRPG ascending arpeggio
boxing-bellDing ding ding
nintendo-switchJoycon snap click
fail-hornPrice Is Right losing horn
game-overArcade 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:

FieldTypeDescription
global.enabledboolMaster on/off switch
global.volume0-100Audio volume percentage
global.quiet_hours.enabledboolAuto-mute toggle
global.quiet_hours.startHH:MMStart time (24h format, e.g. "22:00")
global.quiet_hours.endHH:MMEnd time (wraps midnight, e.g. "08:00")
global.toast.enabledboolShow native OS notifications
global.toast.titlestringNotification title text
global.toast.durationsecondsHow long toast displays
events.<name>.soundstringSound file name (without extension)
events.<name>.enabledboolWhether this event fires
events.long_running.threshold_secondsnumberMin duration to trigger
profiles.<name>.soundstringSound for this profile
profiles.<name>.volume0-100Volume for this profile
project_overrides.<path>.soundstringPer-project sound override

Uninstall

bash uninstall.sh

Contributing

See CONTRIBUTING.md.

License

MIT