{"version":"2.1.288","anchor":"hook-errors-can-block-instead-of-passing-behind-tengu-quiet","canonical_anchor":"hook-errors-can-block-instead-of-passing-behind-tengu-quiet","heading":"Calls are blocked when a hook cannot check them","tier":"soon","area":"Hooks","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.288\/e\/hook-errors-can-block-instead-of-passing-behind-tengu-quiet","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.288","markdown":"### Calls are blocked when a hook cannot check them\n\nIf a hook cannot check a tool call, Claude Code now blocks the call with an explanation unless the server flag tengu_quiet_hopcroft relaxes it\n\n**Unclear.** Which hook events this blocking applies to, and one further condition it checks, are not established.\n\n**What**\n\nHooks are your own scripts that Claude Code runs to check or react to its actions, such as a tool call (an action Claude takes, like running a command). When a hook cannot do its check, the call is now blocked with an explanation instead of going ahead:\n\n- \"Blocked: this call's input can't be written as JSON, so the hook could not check it.\"\n\n- A block when Claude Code \"could not work out which hooks apply to this call\".\n\n- `PermissionRequest` hooks, which decide whether a tool may run, get a deny.\n\n- Many new messages for command checks in cloud sessions that use hooks supplied by a server.\n\nThe block is skipped only when the flag `tengu_quiet_hopcroft` (a switch Anthropic controls from its servers) is true, the value came from the server, and a further condition is met. Otherwise, including when no value is available, the block applies. The flag server returned off for this site's account and for an anonymous check, but no reading has been taken under this release yet.\n\n**Why**\n\nA hook that fails no longer lets a call through unchecked. If your hooks sometimes fail on unusual input, expect those calls to be blocked with one of these messages.\n\n- Flag `tengu_quiet_hopcroft`: Off in both readings (read for one account on one subscription tier against v2.1.288; this account: off, anonymous baseline: off, compiled default: off) 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.\n- Area: Hooks\n- Tier: Nothing to try yet\n- Useful: 2\/5\n- Signal: 3\/5\n- Scope: individual\n- Heads-up: no\n- Present in the build but not switched on"}