{"version":"2.1.271","anchor":"rapid-followup-turn-preemption-new-gated-off-by-default","canonical_anchor":"rapid-followup-turn-preemption-new-gated-off-by-default","heading":"New turn_preempted event lets a rapid follow-up message interrupt a running turn","tier":"use","area":"Turn Handling","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.271\/e\/rapid-followup-turn-preemption-new-gated-off-by-default","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.271","markdown":"### New turn_preempted event lets a rapid follow-up message interrupt a running turn\n\nClaude Code can now stop a running turn on its own when a follow-up arrives before any output appeared, if the connected client opts in\n\n**What**\n\n- A new `system`\/`turn_preempted` event (reason `rapid_followup`) is sent when Claude Code itself stops a running turn because the person sent a follow-up message before the turn produced any output; any running shell commands are backgrounded rather than killed, and the follow-up is answered right away instead of waiting in queue.\n\n- This only happens when the connected client has declared support for it: a new SDK capability, `rapidFollowupPreempt` (declared via `declareRapidFollowupPreempt`, read back as `sdkRapidFollowupPreempt()`), mirrors the existing `perTaskStopAffordance` capability and tells Claude Code the client knows how to handle a `turn_preempted` event.\n\n- It is also gated behind a rollout flag (`tengu_zippy_spindle`), off by default, so both the client declaration and the flag must be enabled. Preemption is skipped for slash commands, bridge-originated messages, and similar cases where it wouldn't make sense.\n\n**Why** Without this, sending a quick follow-up while Claude Code is still working on the previous message just queues it silently. With this enabled (and supported by the client), the follow-up can preempt the still-running turn so it gets addressed immediately.\n\n- Flag `tengu_zippy_spindle`: Not enough to say (read for one account on one subscription tier against v2.1.271; this account: no value returned, anonymous baseline: no value returned, compiled default: off) 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: Turn Handling\n- Names: `turn_preempted`\n- Tier: Use it now\n- Useful: 4\/5\n- Signal: 4\/5\n- Present in the build but not switched on"}