Hooks are scripts that fire automatically when specific events happen inside Claude Code. You don't trigger them. They trigger themselves.
Event: Agent starts a session → Hook: Load project context
Event: Agent edits a file → Hook: Run linter on that file
Event: Agent creates a commit → Hook: Run tests
Event: Agent ends a session → Hook: Write session summary
Event: Agent uses the Bash tool → Hook: Log the command