Follow Discord
Sweep 10 Nov 2026 · 02:18Z Build v2.1.322 539 read Stable v2.1.311 Latest v2.1.322 Next v2.1.322 Feeds RSS JSON llms.txt llms-full.txt Unofficial

Claude Code v2.1.269 ·

New plugin hook events for tool checks, config changes, and sessions

Plugins/hooks can now react to tool.check, config.set, config.describe, session.attach, session.detach, and plugin.register events

Group of 4 Use it now Notable New Features
JSON All of v2.1.269
Use it nowTier: how much it should matter to you
5Useful: my rating, 1 to 5
4Signal: worth watching, 1 to 5
Plugin HooksArea: what it touches
New FeaturesKind: in v2.1.269,
What probably matters to youSection of the release

What

  • The plugin hook system (the mechanism plugin scripts use to observe or intervene in Claude Code's behavior) adds new event types: tool.check (a dry-run check of whether a tool call would be permitted, without actually running it), config.set and config.describe (observe or gate configuration changes), session.attach and session.detach (fired when a session's viewport/surface, or client, attaches or detaches, carrying details like surface, clientId, and detach reason), and plugin.register.
  • tool.check handlers can respond with a decision of allow, ask, or deny (plus an optional reason/rule) for a given tool call.
  • The old turn.complete handler was replaced with a new implementation.
  • The SDK's own request-normalization layer also gained tool.check, config.set, and config.describe as pass-through operations, alongside existing ones like tool.describe and command.run.

Why These new event types let plugins and hooks do more than just intercept tool calls after the fact — they can pre-check permissions, watch config changes, and track session lifecycle, making more sophisticated plugin behavior possible.

Read from
What the documentation says
Since it was published

The entry above is what we published on the day. These lines were added later, as Anthropic's own pages caught up, and they sit beside the original rather than replacing it.

Added since A small documentation edit on Mods reference touched a line naming config.set after this was published. | A hook's `drop` reason or `config.set` `deny` reason | 4,096 characters. The end of a longer reason is cut, and the drop or deny still applies. The cut requires Claude Code v2.1.292 or later, and on earlier versions the hook [fails](/doc… plugins/mods/reference see the edit
Confirmed since Anthropic's documentation has since written up config.set, on Claude Code changelog. * Fixed a mod's `config.set`, `state.set`, `env.set` or `agent.spawn` hook that denies after calling `next(e)` being answered as a refusal: the hook is now reported as failed, by name changelog see the edit
Confirmed since Anthropic's documentation has since written up tool.check, on Configure permissions. That precedence covers hooks in settings files and in a plugin's `hooks/hooks.json`. A [mod](/docs/en/plugins/mods/overview) you install that hooks `tool.check` answers after the rules and the `PreToolUse` hooks have decided, and its answe… permissions see the edit
Added since A small documentation edit on Automate actions with hooks touched a line naming tool.check after this was published. A [mod](/docs/en/plugins/mods/overview) you install that hooks `tool.check` can approve a call that your `PreToolUse` hook blocked, unless the hook is in managed settings. [Extend permissions with hooks](/docs/en/permissions#extend-permiss… hooks-guide see the edit
How sure we are
One source agreesOne thing we can check says the same as this entry.
Anthropic's documentation agreesA small documentation edit on Automate actions with hooks touched a line naming tool.check after this was published.

See this entry in the whole of v2.1.269 →

Feedback