Comment by momentmaker
3 hours ago
You can use edit your settings.json in ~/.claude and put a hook for it like this:
"Stop": [
{
"hooks": [
{
"type": "command",
"command": "afplay ~/.claude/hooks/chime.wav",
"async": true
},
That hook is also called when subagents stop which means you'll get a lot of false positives.
Ideally you are only notified when the main agent stops, the main agent has a question, or a subagent has a question.
I created a script that figures out if any of those states apply before emitting a macOS notification and then called it in each hook: