Unclear It is not clear what this changes in practice for someone using plugins with hooks.
A hook is a script Claude Code runs automatically at certain points, for example before a tool is used. A tool call is one action Claude takes, such as running a command or editing a file. Plugins can bring their own hooks and make their own tool calls.
Claude Code now uses the origin and caller of a hook to keep track of tool calls that a plugin makes itself. It compares what the plugin's call asked for with what reached the layer beneath it, to see whether another hook rewrote it on the way. When the call's input cannot be compared value for value, it is treated as rewritten. When the call cannot be copied, the plugin's hook is not asked about a rewrite of it.
This check sits behind a gate that falls back to on when the server sends nothing.
This affects how hooks from plugins are run again when one plugin's call sets off another, which matters if you use several plugins whose hooks change tool calls.
tengu_plain_kestrel Not enough to sayNothing here resolved what this flag was doing on this version, so nothing here should be read as on or off.
This account: no value returned · anonymous baseline: no value returned · compiled default in v2.1.300: on
These values were read against a different version of Claude Code, so treat them as the nearest reading available instead of one taken on this release.
Read once, for one account on one subscription tier, against v2.1.300. It isn't a statement about your account. What a flag value here can and cannot tell you
It is not clear what this changes in practice for someone using plugins with hooks.
New in this build: tengu_plain_kestrel