Module
Module 4 of 5Lesson 2 of 2~22 min

Hooks: rules that always apply

Lesson 2 of the module "Put guardrails in place that hold" in the course "Work with Claude Code on a real project: context, planning, review".

Lesson objective

By the end of this lesson, you will be able to write and test simple hooks that block a forbidden action, format or verify automatically, choose the right event, and assess a hook's risks before installing it.

Where it fits

Put guardrails in place that hold

What can the agent do without asking me, and how do I enforce what must never happen?

Lessons in this module

  1. Permissions: what the agent may do without asking you
  2. Hooks: rules that always apply (this lesson)

What you will learn in the course

This lesson is part of the course Work with Claude Code on a real project: context, planning, review

  • Explain what fills Claude Code's context window and manage it (/context, /clear, /compact, resuming and naming sessions), taking cost into account.
  • Write a short, useful CLAUDE.md placed at the right level of the hierarchy (user, project, local, subdirectory, path-scoped rules), with imports if needed.
  • Run a task on existing code as explore, plan, code, commit, with plan mode, verification criteria and Git rather than checkpoints alone.
  • Choose and justify the right mechanism for a need (CLAUDE.md, skill or command, subagent, MCP server, hook) and set it up in the repository.
  • Choose a permission mode and write allow, ask and deny rules suited to the project's risks, in the right settings file.
  • Write simple hooks as deterministic guardrails (block, format, verify) and know their risks and limits.
  • Review the agent's work with a checklist (scope, tests, secrets, migrations, dependencies) and an independent review, and know when to automate it in non-interactive mode or in GitHub Actions.