Follow Discord
Sweep 22 Sep 2026 · 17:19Z Build v2.1.280 501 read Stable v2.1.267 Latest v2.1.280 Next v2.1.280 Feeds RSS JSON llms.txt Unofficial
Claude Code v2.1.265 ·

Hook events: PreToolUse split into classic vs. new, and two new synchronous hook events added

PreToolUse hooks are now split into a classic and new form, plus two new synchronous hook events

TierUnder the hoodhow much it should matter to you
Useful2my rating, 1 to 5
Signal2worth watching, 1 to 5
AreaHookswhat it touches
KindInternal Changesin v2.1.265,
Under the hood No documentation found

PreToolUse hooks are now split into a classic and new form, plus two new synchronous hook events

What

The logic that warns when a hook blocks a turn now specifically matches classic.PreToolUse rather than a plain PreToolUse event, implying PreToolUse (a hook that runs before a tool call executes and can block it) now has both a classic and a newer variant. Two new events, command.run and command.describe, have also been added to the set of hook events where submitting mid-hook will wait on the current turn to finish.

Why

This affects how hooks interact with turn timing: hooks tied to command.run and command.describe now behave like other turn-blocking hook events, so anything relying on those events should account for that wait.

Read from
Names in the bundleclassic.PreToolUsecommand.runcommand.describe
How sure we are
Something disagreesSomething we can check disagrees with this entry, or the writer said they could not settle it.
The writer flagged doubtWhat distinguishes the new 'classic.PreToolUse' from a non-classic PreToolUse, and what command.run/command.describe hooks are used for, is…

See this entry in the whole of v2.1.265 →

Feedback