Know when Claude is done
You send, you look away, and you come back too early or ten minutes too late. Two ways to be told instead: a sound from a hook, or your own music.
Claude Code in a terminal: a Stop hook
Claude Code runs a command of your choosing when something happens. The event for
“finished answering” is Stop; the one for “waiting for you”
— a permission to approve, or a question — is Notification. Put
both in ~/.claude/settings.json, beside whatever is already there, and start a
new session.
macOS
{
"hooks": {
"Stop": [
{
"hooks": [
{ "type": "command",
"command": "afplay /System/Library/Sounds/Glass.aiff" }
]
}
],
"Notification": [
{
"hooks": [
{ "type": "command",
"command": "afplay /System/Library/Sounds/Ping.aiff" }
]
}
]
}
}
Windows
{
"hooks": {
"Stop": [
{
"hooks": [
{ "type": "command",
"command": "powershell -NoProfile -c \"(New-Object Media.SoundPlayer 'C:/Windows/Media/chimes.wav').PlaySync()\"" }
]
}
]
}
}
PlaySync and not Play: the hook’s PowerShell exits as soon as
it has nothing left to do, and a sound played in the background goes with it.
Linux
{
"hooks": {
"Stop": [
{
"hooks": [
{ "type": "command",
"command": "paplay /usr/share/sounds/freedesktop/stereo/complete.oga" }
]
}
]
}
}
What a hook does not do
- It plays every time, also for the two-second answer you were watching.
- It is one more sound on top of your music, and easy to miss under it.
- It is Claude Code only. Claude in the browser, the Claude desktop app’s chat and ChatGPT have no hooks to put it in.
Or let your music tell you
If music is playing while you work, it can be the signal. Viblyy turns it down when the answer is done and brings it back up the moment you send the next message. Nothing is added: no chime, no pop-up. You hear the room go quieter from across it, and when the music is up again, Claude is working.
- When: as soon as the answer starts arriving, or only once it is done.
- How much: down to anywhere from 1 to 60% of the volume, or paused instead.
- Where: Claude on claude.ai — the chat, Claude Code on the web and Cowork — and other assistants such as ChatGPT, with Spotify or another music site playing in a Chrome tab. Everything it works with is on one page.
It is a free Chrome extension, with no account and no setup. It reads no conversation; the privacy policy says exactly what it looks at.
The Claude desktop app, and Claude Code in a terminal
A browser extension cannot see a program outside the browser, so the Claude desktop app’s chat and Claude Code in a terminal need Viblyy for Windows. It follows Claude Code through the same hooks as above — set up for you — and the desktop app’s chat even while its window is minimised, and it turns down music playing in an app, like the Spotify app. It is not out yet; until it is, the hook above is the way for the terminal.