Never miss a Claude Code permission prompt again. This tool adds audio notifications to Claude Code so you hear a sound every time it needs your attention.
When using Claude Code, it frequently pauses to ask for permission before running commands, editing files, etc. If you're multitasking or looking at another screen, you can miss these prompts — leaving Claude waiting and wasting your time.
claude-code-sounds uses Claude Code's built-in hooks system to play a sound whenever a permission dialog appears. Works on Linux, macOS, and Windows (WSL).
git clone https://github.com/StaticB1/claude-code-sounds.git
cd claude-code-sounds
./install.shThat's it. Restart Claude Code and you'll hear a chime on every permission prompt.
Claude Code supports hooks — shell commands that run in response to specific events. This tool adds a PermissionRequest hook to your ~/.claude/settings.json:
{
"hooks": {
"PermissionRequest": [
{
"hooks": [
{
"type": "command",
"command": "aplay ~/.claude/sounds/notification.wav &"
}
]
}
]
}
}The & at the end is important — it runs the audio player in the background so it doesn't block Claude Code.
The PermissionRequest event fires whenever Claude Code needs your approval. You can also hook into other events:
| Event | When it fires |
|---|---|
PermissionRequest |
Claude needs permission to run a tool |
Stop |
Claude finishes its response |
Notification |
Claude shows a notification |
PreToolUse |
Before any tool runs |
PostToolUse |
After a tool completes |
- Claude Code CLI
jq(for merging settings)- An audio player (auto-detected):
- Linux:
paplay,aplay, orffplay - macOS:
afplay(built-in) - Windows/WSL:
powershell.exe
- Linux:
If you prefer to set it up yourself:
- Copy the sound file:
mkdir -p ~/.claude/sounds
cp sounds/notification.wav ~/.claude/sounds/- Add to your
~/.claude/settings.json:
{
"hooks": {
"PermissionRequest": [
{
"hooks": [
{
"type": "command",
"command": "aplay ~/.claude/sounds/notification.wav &"
}
]
}
]
}
}Replace aplay with your platform's audio player (afplay on macOS).
- Restart Claude Code.
Replace the sound file at ~/.claude/sounds/notification.wav with any .wav file you like. Or place multiple sound files in ~/.claude/sounds/ and update the command in your settings.
./uninstall.shOr manually remove the PermissionRequest hook from ~/.claude/settings.json.
No sound plays:
- Make sure your audio player works:
aplay ~/.claude/sounds/notification.wav - Check your system volume
- Restart Claude Code after installing (hooks are loaded at startup)
Hook not firing:
- Verify
~/.claude/settings.jsonis valid JSON:jq . ~/.claude/settings.json - Make sure you're using
PermissionRequest, notNotification - Open
/hooksin Claude Code to reload config, or restart the session
PRs welcome! Ideas:
- More sound themes
- Per-event sounds (different sound for Stop vs PermissionRequest)
- Desktop notification integration
- Volume control
Blessing Siwonde - Statotech Systems
- GitHub: StaticB1
MIT