Unclear It is not clear whether this only changes descriptions or also how hook matchers are applied.
What
A hook is a command you configure to run at set points in Claude Code, such as when a session starts. A matcher narrows which occasions a hook runs for. Each hook event carries descriptive details about its matcher (matcherMetadata). Those details no longer include fieldToMatch, the name of the field the matcher checks. Only the list of possible values remains.
SessionStartand the command-expansion hook event dropfieldToMatch: "command_name"andfieldToMatch: "source".- Hook events that match on tool names drop
fieldToMatch: "tool_name". - The hook event documented with "Exit code 2 - block the response (action becomes decline)" drops
fieldToMatch: "mcp_server_name", and its details are now just{ values: [] }. - The add-dir hook event drops
fieldToMatch: "source"and keeps the valuesslash_commandandregister_repo_root. PreCompactandPostCompactdropfieldToMatch: "trigger"and keep the valuesmanualandauto.StopFailuredropsfieldToMatch: "error". Its description, "Fires instead of Stop when an API error (rate limit, auth failure, etc.) ended the turn.", and its values such asrate_limitandoverloadedremain.- Separately, a
projectentry is added to a list of commands where the neighbouring entries belong to the "config" group.
Why
These details feed hook documentation and setup screens, so those may stop saying which field a matcher checks. The matcher values themselves are unchanged. The findings do not show whether matching or validation behaves differently.
It is not clear whether this only changes descriptions or also how hook matchers are applied.