{"version":"2.1.317","anchor":"plugin-hook-loader-caps-hooks-and-applies-per-type-allowance","canonical_anchor":"plugin-hook-loader-caps-hooks-and-applies-per-type-allowance","heading":"A new hook-gathering step trims hooks to fixed types and size limits","tier":"internal","area":"Hooks","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.317\/e\/plugin-hook-loader-caps-hooks-and-applies-per-type-allowance","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.317","markdown":"### A new hook-gathering step trims hooks to fixed types and size limits\n\nA new step gathers hooks from several sources, keeps only accepted hook types and cuts them down to fixed size and count limits\n\n**Unclear.** It is not clear whether anything uses this hook-gathering step yet, so it may have no effect today.\n\n**What**\n\nHooks are actions you set up to run automatically at set points while Claude Code works. A new step gathers hooks from several sources and merges them, applying rules as it goes:\n\n- command hooks are always kept\n\n- http, prompt and agent hooks are kept only when the receiving side says it accepts that type\n\n- http hooks are cut down to a fixed list of fields\n\n- `PreToolUse` command hooks set to run in the background are made to run and finish before the tool call, when a policy check calls for it\n\n- limits apply to the number of hooks, their size, their arguments (capped at 8192) and the length of their matchers, and anything trimmed is reported as cut at a limit\n\n**Why**\n\nHooks passed on through this step arrive trimmed to fixed limits and accepted types, so oversized or unsupported hooks do not get through it unchanged.\n\n- Area: Hooks\n- Tier: Under the hood\n- Useful: 2\/5\n- Signal: 3\/5\n- Scope: individual\n- Heads-up: no"}