PostToolUse hooks display "(1/2 done)" despite both hooks completing successfully
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?
When running two PostToolUse hooks, Claude Code displays "Running PostToolUse hooks… (1/2 done)" as the final state, even though both hooks complete successfully.
Debug log proves both hooks complete (--debug mode):
[DEBUG] Matched 2 unique hooks for query "Bash" (2 before deduplication)
[DEBUG] Hooks: Checking initial response for async: {"hookSpecificOutput"...}
[DEBUG] Successfully parsed and validated hook JSON output ← Hook 1 ✓
[DEBUG] Hooks: Checking initial response for async: {"hookSpecificOutput"...}
[DEBUG] Successfully parsed and validated hook JSON output ← Hook 2 ✓
Both hooks run, output valid JSON, and are parsed/validated. The "(1/2 done)" is a UI display bug.
What Should Happen?
Display should show "(2/2 done)" when both hooks complete successfully.
Error Messages/Logs
Steps to Reproduce
- Configure two PostToolUse hooks in ~/.claude/settings.json:
```json
"PostToolUse": [
{
"hooks": [
{"type": "command", "command": "/path/to/hook1.py", "timeout": 5},
{"type": "command", "command": "/path/to/hook2.py", "timeout": 2}
]
}
]
- Run any command that triggers PostToolUse (e.g., Bash)
- Observe "Running PostToolUse hooks… (1/2 done)" displayed
- Run with --debug to confirm both hooks complete successfully
Claude Model
Opus
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
2.0.76
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
iTerm2
Additional Information
_No response_
This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗