{"version":"2.1.296","anchor":"headless-prompt-check-interrupted-turn-reports-aborted-stre","canonical_anchor":"headless-prompt-check-interrupted-turn-reports-aborted-stre","heading":"Headless runs report an error when a turn is stopped before its prompt is checked","tier":"notice","area":"Agents","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.296\/e\/headless-prompt-check-interrupted-turn-reports-aborted-stre","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.296","markdown":"### Headless runs report an error when a turn is stopped before its prompt is checked\n\nIn headless and SDK runs, a turn stopped before its prompt check finished now ends as an error rather than a success\n\n**What**\n\nIn headless runs, where Claude Code runs without its interactive screen, usually driven by the SDK (the library for calling Claude Code from your own program), Claude Code checks a prompt before running it. If that check interrupts a turn that was not going to send a request, the result is now reported as a failure:\n\n- `error_during_execution` as the result type\n\n- `prompt_check: the turn was stopped before its prompt was checked` in the errors list\n\n- `aborted_streaming` as the terminal reason\n\nBefore, the same situation came back as a success with `is_error` set to false.\n\nThere is also a new `onPromptCheckInterrupted` callback. Messages that were cut from a batch at that point are put back in the queue so they can run later.\n\n**Why**\n\nPrograms built on the SDK can now tell that a turn did not really run, where before it looked like it had succeeded. If your code treats every non-success result as fatal, it may need to handle this case.\n\n- Area: Agents\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 1\/5\n- Scope: individual\n- Heads-up: no"}