{"version":"2.1.300","anchor":"hook-timeout-override-on-resolved-hooks","canonical_anchor":"hook-timeout-override-on-resolved-hooks","heading":"A hook's timeout can now be overridden when the hook is run","tier":"internal","area":"Hooks","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.300\/e\/hook-timeout-override-on-resolved-hooks","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.300","markdown":"### A hook's timeout can now be overridden when the hook is run\n\nWhen a hook runs, a timeout given for that run now takes the place of the timeout written in the hook's definition\n\n**Unclear.** It is not clear where the replacement timeout comes from or which hooks it applies to.\n\n**What**\n\nA hook is a script Claude Code runs automatically at certain points, and it can have a timeout, a limit on how long it may run. When a hook is run, a timeout supplied for that particular run now replaces the one in the hook's definition. If none is supplied, the definition's own timeout still applies. Previously the hook's definition was always used unchanged.\n\n**Why**\n\nHow long some hooks, such as those from plugins or a project's own files, are allowed to run before being stopped may now differ from what their definition says.\n\n- Area: Hooks\n- Tier: Under the hood\n- Useful: 1\/5\n- Signal: 2\/5\n- Scope: individual\n- Heads-up: no"}