[BUG] The Notification hook never fires when Claude Code runs as the VSCode native extension
Open 💬 4 comments Opened Jun 9, 2026 by Zeoy2020
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?
The Notification hook never fires when Claude Code runs as the VSCode native extension — in any situation (permission prompt, 60s idle timeout, etc.). The exact same settings.json works correctly in the CLI.
Related prior reports that remain unresolved: #11156, #16114, #31285, #59718.
What Should Happen?
The Notification hook should fire in the VSCode extension just as it does in the CLI, consistent with the documented hook behavior.
Error Messages/Logs
Steps to Reproduce
- Add the following to
~/.claude/settings.json:
{
"hooks": {
"Notification": [
{
"hooks": [
{
"type": "command",
"command": "powershell -ExecutionPolicy Bypass -NoProfile -Command \"[datetime]::Now.ToString() | Out-File E:\\tmp\\notify-debug.log -Append\""
}
]
}
],
"Stop": [
{
"hooks": [
{
"type": "command",
"command": "powershell -ExecutionPolicy Bypass -NoProfile -Command \"[datetime]::Now.ToString() | Out-File E:\\tmp\\stop-debug.log -Append\""
}
]
}
]
}
}
- Run Claude Code in CLI mode. Trigger a permission prompt or wait 60s idle.
- ✅
E:\tmp\notify-debug.logis created and updated.
- Run Claude Code in VSCode extension mode. Trigger the same conditions.
- ✅
E:\tmp\stop-debug.logis created —Stophook fires. - ❌
E:\tmp\notify-debug.logis never created —Notificationhook does not fire.
Claude Model
None
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
2.1.169 (Claude Code)
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
VS Code integrated terminal
Additional Information
_No response_
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗