I did this as well, and loved to hear "Work complete!" (https://www.youtube.com/watch?v=bupagiROLV8) when Claude Code needed me.
Once the novelty wore off, I found it more useful to hear per-project, event-specific messages. On macOS, that looks like this:
{
"Stop": [
{
"hooks": [
{
"type": "command",
"command": "osascript -e 'say \"ProjectX work complete\" volume 0.25' > /dev/null 2>&1 &"
}
]
}
],
"Notification": [
{
"matcher": "permission_prompt",
"hooks": [
{
"type": "command",
"command": "osascript -e 'say \"ProjectX needs help\" volume 0.5' > /dev/null 2>&1 &"
}
]
}
]
}Where does this config get dropped into the file structure?
I believe you don’t even have to use AppleScript you can just use the say command directly