{"version":"2.1.296","anchor":"userpromptsubmit-hook-cancellation-distinguishes-interrupts","canonical_anchor":"userpromptsubmit-hook-cancellation-distinguishes-interrupts","heading":"Interrupting a UserPromptSubmit hook now counts as cancelling it","tier":"notice","area":"Hooks","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.296\/e\/userpromptsubmit-hook-cancellation-distinguishes-interrupts","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.296","markdown":"### Interrupting a UserPromptSubmit hook now counts as cancelling it\n\nInterrupting Claude Code while a UserPromptSubmit hook runs now cancels the hook cleanly, and the debug log says which kind of cancel it was\n\n**What**\n\nA hook is a command you set up to run automatically at a certain moment. A `UserPromptSubmit` hook runs when you submit a prompt, before Claude processes it.\n\nTwo things changed when such a hook is cancelled:\n\n- Interrupting Claude Code while the hook is running is now treated as a cancellation.\n\n- The debug log now says whether you interrupted the hook or the control stream closed. The control stream is the connection Claude Code is being driven through.\n\n**Why**\n\nIf you interrupt a slow prompt hook, it should no longer show up as an error.\n\n- Area: Hooks\n- Tier: You'll notice\n- Useful: 1\/5\n- Signal: 1\/5\n- Scope: individual\n- Heads-up: no"}