Claude Code hooks are customizable shell commands that execute at specific points in the application's lifecycle, allowing users to automate tasks like notifications, code formatting, logging, and permissions. These hooks provide deterministic control over behavior rather than relying on LLM decisions, with various event types including PreToolUse, PostToolUse, Notification, and Stop.