{"version":"2.1.309","anchor":"hook-outcome-reads-as-timed-out-when-a-hook-was-stopped-af","canonical_anchor":"hook-outcome-reads-as-timed-out-when-a-hook-was-stopped-af","heading":"Hooks stopped after their time limit are reported as timed out","tier":"notice","area":"Hooks","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.309\/e\/hook-outcome-reads-as-timed-out-when-a-hook-was-stopped-af","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.309","markdown":"### Hooks stopped after their time limit are reported as timed out\n\nA hook stopped because it ran past its time limit is now reported as timed out even when it was also cancelled\n\n**What**\n\nA hook is a command you configure to run automatically at points in a Claude Code session. When a hook is stopped because it ran past its time limit, Claude Code now labels the outcome \"timed out\", even if the run had also been cancelled. Before, a cancellation always hid the \"timed out\" label.\n\n**Why**\n\nYou can now tell when a hook stopped because of its time limit rather than another cancellation.\n\n- Area: Hooks\n- Tier: You'll notice\n- Useful: 1\/5\n- Signal: 1\/5\n- Scope: individual\n- Heads-up: no"}