[BUG] Notification hook not firing in Claude Desktop
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
I have defined the Notification hook shown below in my settings.json. I tried it with both an explicit matcher and not specifying any matcher. The hook triggers fine in the terminal version of Claude Code, e.g. when prompted for a permission, but never in Claude Desktop. I also have Stop hook defined (also included below), that one works fine in both Claude Desktop and the terminal.
Claude Desktop version (on macOS Tahoe 26.3.1) is Claude 1.1.7203 (034f07) 2026-03-17T17:48:28.000Z.
"hooks": {
"Notification": [
{
"matcher": "permission_prompt",
"hooks": [
{
"type": "command",
"command": "afplay /System/Library/Sounds/Ping.aiff"
}
]
}
],
"Stop": [
{
"hooks": [
{
"type": "command",
"command": "afplay /System/Library/Sounds/Funk.aiff"
}
]
}
]
},
What Should Happen?
The Notification hook should trigger in Claude Deskop in the same way it does in the terminal version.
Error Messages/Logs
Steps to Reproduce
- Create hooks like the ones shown above in user's settings.json
- Prompt in Claude Deskop in a way that provokes a permission prompt, e.g. "write 'hello world' to file test.md".
- No sound is heard, hook evidently doesn't trigger.
- Retry the prompt from step 2 in terminal version of claude. Verify the hook triggers and sound is played.
Claude Model
None
Is this a regression?
Don't know, haven't tried prior versions of Claude Desktop
Last Working Version
_No response_
Claude Code Version
2.1.76 (Claude Code)
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
Hopefully this is the right place to report Claude Desktop issues as well, didn't find a better fitting repo.
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗