{"version":"2.1.246","anchor":"new-initialize-option-pertaskstopaffordance-changes-what-int","canonical_anchor":"new-initialize-option-pertaskstopaffordance-changes-what-int","heading":"New initialize option perTaskStopAffordance changes what interrupt kills","tier":"use","area":"SDK","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.246\/e\/new-initialize-option-pertaskstopaffordance-changes-what-int","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.246","markdown":"### New initialize option `perTaskStopAffordance` changes what interrupt kills\n\nSDK clients can opt in so an interrupt kills only the current turn, not background agents.\n\n**What**\n\nThe SDK and stream-json `initialize` request accepts a new boolean saying your client renders a per-task stop control wired to the existing `stop_task` control request. Set it to true and an interrupt on an interactive stream-json session aborts only the current turn, leaving running background agents and workflows alive.\n\n**Details**\n\n- Absence fails closed: the interrupt kills background tasks, as before.\n- A one-shot run with stdin closed still kills hold-back tasks even when the option is declared.\n- Client-declared at initialize; there is no server-side flag involved.\n\n**Evidence**\n\n`Declares that this consumer renders a per-task stop control wired to the `stop_task` control request, so the user can stop an individual background task.`\n\n- Area: SDK\n- Names: `perTaskStopAffordance`, `stop_task`\n- Tier: Use it now\n- Useful: 4\/5\n- Signal: 4\/5"}