{"version":"2.1.223","anchor":"parked-askuserquestion-can-abort-the-turn-when-the-control-s","canonical_anchor":"parked-askuserquestion-can-abort-the-turn-when-the-control-s","heading":"Parked AskUserQuestion can abort the turn when the control stream closes","tier":"soon","area":"SDK Control","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.223\/e\/parked-askuserquestion-can-abort-the-turn-when-the-control-s","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.223","markdown":"### Parked AskUserQuestion can abort the turn when the control stream closes\n\nClosing the control stream while a question waits can now cancel the turn, but that path stays off.\n\n**What**\n\nWhen the permission stream closes while an AskUserQuestion is parked, a new path aborts the query instead of preserving the park, but it requires a gate value not set in this build.\n\n**Details**\n\n- the SDK control-request handler gained a `streamCloseInterruptRequestIds` set and a `setOnStreamClosedWithParkedQuestion` hook\n- on stream close with a parked question the callback fires, aborting the current query with reason \"shutdown\", and the error is rethrown\n- emits telemetry `tengu_auq_park_interrupted_at_stream_close`\n- gated on `tengu_cinder_swift`; the path runs only when the value is exactly \"interrupt\", and the in-source fallback is \"off\"\n\n**Evidence**\n\n`tengu_auq_park_interrupted_at_stream_close`\n\n- Flag `tengu_cinder_swift`: Not enough to say (read for one account on one subscription tier against v2.1.223; this account: no value returned, anonymous baseline: no value returned, compiled default: not a boolean we can read) These values were read against a different version of Claude Code, so treat them as the nearest reading available instead of one taken on this release.\n- Area: SDK Control\n- Tier: Nothing to try yet\n- Useful: 2\/5\n- Signal: 3\/5\n- Present in the build but not switched on"}