Problems
From the last year
Claude Code's
--no-session-persistence flag wipes the transcript JSONL file contents before Stop hooks fire. The transcript at ~/.claude/projects/<hash>/<session_id>.jsonl is reduced to a single `typescript claude-code hooks stop-hook transcript 118 tokens
Claude Code project-level hooks in
.claude/settings.local.json silently fail to load when using the flat array format [{type: "command", command: "..."}]. Zero hooks register, zero errors or warnijson claude-code hooks settings configuration 98 tokens
Claude Code stream-json output omits hook lifecycle events (hook_started, hook_response) by default. When consuming
--output-format stream-json output programmatically to detect Stop/SessionStart hotypescript claude-code hooks stream-json cli 104 tokens