Streaming Interrupt
Streaming Interrupt is the control layer that gives users real agency inside an otherwise one-way token firehose. It starts with a stop button rendered from the first token and expands to live prompt edits, granular accept and reject on partial structures, independent stream cancellation, and branching threads that keep whatever was good. In the five-layer stack it sits directly after structural commitment because you cannot safely offer controls until the layout has stopped reflowing. A well-built interrupt responds in under 100ms, preserves every committed list item or code pane already rendered, and hands off to an editable post-stream state instead of a frozen transcript. Claude ships a clean X icon next to the gradient pulse that registers instantly. Cursor goes further and lets you reject individual diff hunks while the model adapts the rest of the output on the fly. These controls turn the entire surface into a collaborative loop instead of a dictated monologue. Users read faster and prompt bolder when they know they hold the off switch. Interrupt latency becomes a measurable product metric exactly like time-to-first-token. Anything over 300ms feels like the model is holding the user hostage.
It is not a dot-menu item that appears after token 80. It is not the 2022-2023 ChatGPT regenerate that nuked the entire response and forced users to start over from a blank prompt. That pattern treated partial output as disposable and trained a generation of users to wait until the end before judging quality. A real streaming interrupt never discards committed tokens without explicit consent. It does not leave the surface in a half-rendered broken state. It is not an invisible keyboard shortcut or an API-only cancel that provides zero visual feedback. Any version that lags behind the users rising frustration or hides its controls fails the trust test and makes the rest of the carefully smoothed token rhythm feel pointless.
Cursor in late 2024 delivered the clearest example in their composer. The surface streams a natural-language plan on the left and a side-by-side diff on the right. As each hunk lands, individual changed blocks receive their own accept and reject buttons. Users read the streaming explanation, tap reject on the sections that miss the spec, watch those blocks vanish instantly, and see the model adjust subsequent output in real time. The stop button lives in the header from millisecond one. If the user halts the whole stream the partial diff remains fully editable and uncommitted until they explicitly accept. Every audit item passes. Time-to-first-token includes the button. Token rhythm stays buttery even during re-routes. Structural commitment keeps the diff layout rock solid. Completion hands off to owned code instead of a chat log. Claude takes a complementary path. Its gradient pulse starts under 200ms, the stop sits top right from token one, and tapping it immediately materializes whatever artifact reached that point. The branch-from-here option creates a parallel thread that inherits the good sentences so nothing is lost. By 2025 Claude added suggested edit chips on interrupt that turn the stop moment into a smart pivot rather than a dead end. v0 applies the pattern on canvas. Stopping a component generation leaves the partial elements selected so the follow-up prompt can say refine this button without losing context. Lovable does the same for full app builds. Users stop the stream and the already-generated screens stay live and interactive in the editor. Raycast AI uses it inside compact command surfaces where interrupt collapses the palette cleanly and immediately offers three smart next commands based on the partial output. Anthropic Computer Use streams reasoning text and screenshot captures in parallel lanes. The interrupt controls are independent so a user can kill the visual stream while keeping the text trace or vice versa. Each of these ships in production between 2024 and 2025. Each treats interrupt as a first-class design surface instead of an API footnote.
Deploy a streaming interrupt on every surface that runs longer than three seconds. Code copilots, long-form writers, UI generators, research tools, agent loops, internal report builders, all of them. The basic visible stop button is non-negotiable and must ship before the first token. Once structural commitment is stable add the live accept/reject and branch controls. Measure interrupt response time with the same dashboard as token cadence and time-to-first-token. Teams that treat it as core interaction design rather than backend plumbing see higher completion rates and bolder user prompts because the cost of a bad generation drops to near zero. The Designing Streaming UIs audit marks this as one of the seven checks that decide whether a surface feels like infrastructure or a half-baked prototype.
Skip the full live-edit and branching version only on sub-second JSON payloads or pure voice replies where the user never sees a rendered stream. Even then keep a cancel mechanism. Never ship any streaming UI without the prominent stop button visible from token one. The hostage situations it prevents are real and users remember exactly which products forced them to watch garbage they spotted in the first 400ms.
A streaming interrupt turns an expensive model monologue into a responsive two-way conversation that respects the users time.
Read the full guide
Related terms
Keep exploring
Streaming UI
The complete output surface that delivers AI content with rhythm, structural stability, interrupt controls, cursor behavior, and post-generation handoff instead of a raw token dump into a div.
Structural Commitment
Structural commitment locks in layout for lists, tables, code blocks, and other elements the instant they become detectable in a token stream so the page never reflows and the user's eye never hunts for its place.
AI-native
A design or system built to be composed by an AI model at request time, not assembled by hand at build time.
Trust Signals
Trust signals are review surfaces that show exactly what an agent changed so humans can approve or reject before anything commits. Cursor diffs, Claude artifacts, and Copilot plans turn scary autonomy into safe collaboration.