{"version":"2.1.288","anchor":"hook-input-size-limit-and-hook-error-handling-in-command-hoo","canonical_anchor":"hook-input-size-limit-and-hook-error-handling-in-command-hoo","heading":"Hooks now refuse input that is over a size limit","tier":"notice","area":"Hooks","scope":"individual","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.288\/e\/hook-input-size-limit-and-hook-error-handling-in-command-hoo","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.288","markdown":"### Hooks now refuse input that is over a size limit\n\nClaude Code now checks the data it sends to a hook against a size limit and reports an error instead of sending an oversized payload\n\n**Unclear.** The size limit and the list of events that now stop with an error are not known.\n\n**What**\n\nHooks are your own commands that Claude Code runs at set moments, such as before a tool is used, passing them details about what is happening. Claude Code now checks the size of those details before handing them over. If they are too large, the hook is not given them and you see the error `Hook input is over the size limit`, recorded with the reason `hook_input_too_large`.\n\nFailures are handled differently too. Previously, if Claude Code could not prepare a hook's input, it quietly carried on as if the hook had returned nothing. For certain events it now stops with an error instead.\n\n**Why**\n\nAn oversized payload is rejected up front rather than passed to your hook, and a failure for those events now shows up as an error instead of being silently skipped.\n\n- Area: Hooks\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 1\/5\n- Scope: individual\n- Heads-up: yes"}