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 engine reworked into explicit core/managed layering with unified result merging

Hook execution engine rebuilt with a clearer core/managed split and unified result merging

TierUnder the hoodhow much it should matter to you
Useful3my rating, 1 to 5
Signal3worth watching, 1 to 5
AreaHookswhat it touches
KindInternal Changesin v2.1.265,
Under the hood

Hook execution engine rebuilt with a clearer core/managed split and unified result merging

What

The internal system that runs hooks has been reorganized. It now clearly separates "core" hook handling from "managed" hook handling, and adds a merge step that combines results from multiple hooks - things like permission decisions, extra context to inject, and file paths to watch - using a priority order where a deny always beats an ask, and an ask always beats an allow. Classic shell-based hooks and newer function-based hooks are now handled through the same unified path, including tracking blocked commands and results tied to WorktreeCreate events (which fire when a worktree, an isolated copy of a repository, is being created).

Why

This is an internal restructuring that makes hook behavior more consistent regardless of whether a hook is a shell script or a function, and ensures that when multiple hooks weigh in on the same action, the strictest decision wins.

Read from
Names in the bundleWorktreeCreate

See this entry in the whole of v2.1.265 →

Feedback