← All evidence notes
Evidence note

How often did our planning hook speak up?

By Seth Tucker · Published November 2026 · Cited by They asked Claude Code for a code review. Then they checked the commits.

Why this matters to you: if a hook reminds your agent of something on every message, your session fills with reminders. This is how often ours actually spoke, so you can judge how quiet a hook like it can be.

The short answer: across 87 Claude Code sessions from October 4 through October 31, 2026, our planning hook spoke 79 times in 56,886 logged checks, about three times a day. In that window, every response followed a message matching a planning word or a tool call matching a plan-file path. Each response returned at least one saved-memory match.

What the hook does

The hook can search saved memories when a message contains a planning word, the agent enters plan mode, or a tool call writes to a plan file; it shows any matches to the agent. It skips a repeated search in the same session. When a plan is about to be approved without a "Lessons applied" section, it asks the agent to add one. Commands that only read a plan file pass in silence.

What we found

  • Checks: across 87 sessions in 28 days, the hook logged 56,886 checks, about 2,000 a day. 55,161 of those checks (about 97 in 100) came before commands or file changes, and 1,725 (about 60 a day) came when a message was sent.
  • Times it spoke: 79, about three a day or once in every 720 checks, in 16 of the 87 sessions (about one session in five). Of the 79, 45 (about six in ten) came while a plan file was written or edited, 15 (about one in five) on commands aimed at plan files, and 19 (about one in four) after messages containing planning words.
  • Matches: in all 79, the search returned at least one matching saved memory. The log doesn't say whether each match was useful.
  • Speed: across the 79 times it spoke, the hook's logged processing time was 359 milliseconds at the median (about a third of a second) and 1,278 milliseconds at the slowest (about 1.3 seconds).
  • Why the rest stayed quiet: most silent checks were commands and file changes that didn't match the hook's plan-file rules. It also skipped messages sent by our own automation and messages with no planning words.

How we tested it

  • Counted: November 1, 2026.
  • Window: from the hook's first logged check, October 4, 2026, through the end of October 31, 2026 (Eastern time), 28 days.
  • Source: the hook writes one line to its own log for every check: the time, whether it came from a message or an action, whether it spoke, and why.

Limits

  • How often, not how much it helped. The log counts when the hook spoke and why. It can't show whether every trigger was real planning, whether the agent read what came back, or whether a plan got better.
  • Our own tuning. The planning words and where plan files live are our choices. Another team's count would depend on how it writes and stores plans.
  • One team, one tool. Our sessions only, in Claude Code; the log does not record which version, and the rate may differ on other versions or setups.
  • Not published yet. This hook is part of our own setup and is not in a public release.

What we changed

Nothing. Across 87 sessions in 28 days it spoke about three times a day, when its planning-word or plan-file rules matched, which is the behavior we built it for. When we publish it, this note will link the release. Until then, the loop rules in step 4 of the lesson ask the agent to list the lessons that apply to every plan, which is the same habit without the hook.