Most Claude Code hooks are not worth setting up.

I read through all 27 Claude Code hook events, and my main takeaway is simple: do not automate something just because the tool allows you to automate it.

Many hooks sound useful in theory. But once you put them into a real workflow, some of them make debugging harder, slow the agent down, or create one more thing you have to maintain.

The hooks worth using are usually not the fanciest ones. They are the ones that reduce repeated mistakes, especially the mistakes you already know will happen again.

For example, PreToolUse is useful when you want to block dangerous commands before they run. Instead of hoping the model remembers not to run certain commands, you put the rule outside the model. PostToolUse can also be useful in the right places. You can use it to clean up output, remove sensitive information, or remind Claude to run tests after it changes files.