Lily
Posted on Jul 14
• Originally published at dev.to
This is another entry in my Claude Code environment series, following the previous piece on the project ledger and symlink tree.
As you add more hooks, a vague feeling creeps in: "things got heavier." There's a mysterious pause between turns, and a long gap between hitting enter on a prompt and the response starting. But pinning down which hook is responsible is hard. Hooks are called from inside Claude Code, and unless they error, nothing shows up in any log. In this article I introduce a single wrapper that writes each hook's execution time to a JSONL file, plus a script to aggregate it. I'll show all the real numbers too.






