{"version":"2.1.280","anchor":"hooks-dispatch-payload-gains-a-cutat-field","canonical_anchor":"hooks-dispatch-payload-gains-a-cutat-field","heading":"Hooks gain a hard deadline (cutAt) in addition to their time budget","tier":"internal","area":"Hooks","url":"https:\/\/changelogs.core-directive.com\/v\/2.1.280\/e\/hooks-dispatch-payload-gains-a-cutat-field","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.280","markdown":"### Hooks gain a hard deadline (cutAt) in addition to their time budget\n\nHooks now carry a hard cutoff time (cutAt) alongside their existing time budget, and can be re-armed\n\n**Unclear.** What the cutAt field represents or is used for is not stated in the finding.\n\n**What**\n\n- Hooks (scripts that run automatically at certain points, like before a tool call) now carry a `cutAt` value: an absolute deadline, separate from the existing `budgetMs` time budget.\n\n- This `cutAt` value is passed through the internal event object used to dispatch a hook, alongside the existing id, event, payload, environments, leftOut, origin, hookOrigin, raise, and floors fields.\n\n- The hook chain runner and its error handling now take this deadline into account, and a hook's per-run timeout can be re-armed (reset) with a new `rearm()` mechanism.\n\n**Why**\n\nGiving hooks a hard deadline on top of a soft time budget lets Claude Code enforce a firm cutoff for how long a hook chain can run, while still allowing individual timeouts to be reset when appropriate.\n\n- Area: Hooks\n- Names: `cutAt`\n- Tier: Under the hood\n- Useful: 2\/5\n- Signal: 2\/5"}