[BUG] PostToolUse hooks no longer fire for MCP tools
Status Open
Reported on v2.1.193
Maintainer reply None cached
Activity 0 comments · opened Oct 1, 2026
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?
PostToolUse hooks don't fire for MCP tools anymore. Built in tools (Bash, Read, Write, ToolSearch, etc) still fire them fine. The hook is registered with an empty matcher. The MCP tools run and return results normally but the hook never runs.
This breaks anything that uses PostToolUse to detect that an approved permission prompt has resolved. Without it, the state stays stuck until the next tool call or Stop.
What Should Happen?
PostToolUse fires for MCP tools, like it does for built-in tools and like it did before
Error Messages/Logs
MCP PreToolUse vs PostToolUse hook calls per version, from my hook logs:
2.1.193 - 2.1.224 206 pre / 197 post
2.1.251 14 pre / 1 post
2.1.267 35 pre / 2 post
2.1.270 - 2.1.286 320 pre / 0 post
Steps to Reproduce
- Register
PreToolUseandPostToolUsecommand hooks with matcher""that log their stdin - Call any MCP tool (seen with
claude-in-chromeandcontext-mode) PreToolUselogs andPostToolUsedoesn't, while the same session's Bash calls log both
Claude Model
Opus
Is this a regression?
Yes, this worked in a previous version
Last Working Version
2.1.224
Claude Code Version
2.1.286
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
_No response_