[Bug] Async hooks fail to notify Claude Code of completion
Resolved 💬 3 comments Opened Jan 26, 2026 by zippoxer Closed Jan 30, 2026
Bug Description
Async hooks don't notify Claude Code on completion.
Environment Info
- Platform: darwin
- Terminal: ghostty
- Version: 2.1.19
- Feedback ID: bb85982b-fd0a-4e89-beb5-ccfb946e2e15
Errors
[{"error":"Error: ENOENT: no such file or directory, scandir '/Library/Application Support/ClaudeCode/.claude/skills'\n at readdirSync (unknown)\n at <anonymous> (/$bunfs/root/claude:12:1903)\n at mW (/$bunfs/root/claude:11:35435)\n at readdirSync (/$bunfs/root/claude:12:1864)\n at ILR (/$bunfs/root/claude:2215:380)\n at ILR (/$bunfs/root/claude:2215:1350)\n at <anonymous> (/$bunfs/root/claude:2215:4440)\n at <anonymous> (/$bunfs/root/claude:2215:5171)\n at A (/$bunfs/root/claude:11:7259)\n at FZ8 (/$bunfs/root/claude:4862:4342)","timestamp":"2026-01-26T10:00:23.046Z"},{"error":"Error: NON-FATAL: Lock acquisition failed for /Users/zippo/.local/share/claude/versions/2.1.19 (expected in multi-process scenarios)\n at BUR (/$bunfs/root/claude:4003:2091)\n at YkA (/$bunfs/root/claude:4003:1202)\n at processTicksAndRejections (native:7:39)","timestamp":"2026-01-26T10:00:23.092Z"}]
Export
▐▛███▜▌ Claude Code v2.1.19
▝▜█████▛▘ Opus 4.5 · Claude Max
▘▘ ▝▝ ~/code/finality
❯ please stop
⏺ I'm not currently running any tasks. Is there something specific you'd like me
to help you with?
❯ an async hook completed, do you see its response?
⎿ Async hook Stop completed
⏺ No, I don't see any hook response in my context. The only messages I have are
your initial "please stop" and this follow-up question. If a hook completed,
its output wasn't delivered to me.
❯ /feedback
⎿ Feedback / bug report submitted
▐▛███▜▌ Claude Code v2.1.19
▝▜█████▛▘ Opus 4.5 · Claude Max
▘▘ ▝▝ ~/code/finality
❯ please stop
⏺ I'm not currently running any tasks. Is there something specific you'd like me
to help you with?
❯ an async hook completed, do you see its response?
⎿ Async hook Stop completed
⏺ No, I don't see any hook response in my context. The only messages I have are
your initial "please stop" and this follow-up question. If a hook completed,
its output wasn't delivered to me.
❯ /feedback
⎿ Feedback / bug report submitted
Config & Hooks
{
"hooks": {
"Stop": [
{
"matcher": "",
"hooks": [
{
"type": "command",
"command": "./ops/scripts/test-stop-hook.sh",
"timeout": 30,
"async": true
}
]
}
]
}
}
#!/bin/bash
# Test Stop hook that sleeps 10 seconds then injects a prompt back to Claude
echo "[test-stop-hook] Starting 10 second sleep..." >&2
sleep 10
echo "[test-stop-hook] Sleep complete, injecting prompt..." >&2
# Return JSON to block stopping and inject a message
cat <<'EOF'
{
"decision": "block",
"reason": "Async hook completed after 10 seconds! This proves async: true works for background hooks."
}
EOFThis issue has 3 comments on GitHub. Read the full discussion on GitHub ↗