XIII · Cognition & IntrospectionExperimental·

Interrupt-Resumable Thought

also known as Pausable Thought Stream, Continuation-Preserving Interrupt, Suspendable Cognition

Preserve multi-step reasoning across interrupts by supporting paused-and-resumed thought frames so a new message handles cleanly without clobbering in-flight work.

Context

A team is running an agent whose individual reasoning chains take longer than a single turn — a six-step synthesis, a multi-stage debugging walkthrough, a careful comparison across documents. While the chain is mid-flight, new external messages can arrive: a user follow-up, a system notification, a scheduled note from earlier. The agent has no built-in concept of a paused thought, so every incoming message lands on whatever the model was about to say next.

Problem

Without explicit continuation support, the agent has only two bad options when an interrupt arrives mid-chain. It can ignore the new message and look rude, finishing the previous thought as if nothing happened. Or it can answer the interrupt and quietly lose the in-flight reasoning, restarting from scratch later if at all. There is no notion of 'hold this thread, handle that one, then come back to where I was,' so any reasoning that takes longer than one turn fragments into shards every time the user speaks.

Forces

  • Latency: humans expect quick acknowledgement of new input.
  • Context capacity: holding a paused thought costs tokens.
  • Resume reliability: returning to a paused thought without distortion is hard.
  • Priority: not every interrupt deserves to suspend work; some are themselves interruptable.

Example

A research agent is on step 4 of a 7-step literature synthesis when the user fires off 'oh, also, what was that paper from Tuesday?'. The current agent either ignores the interrupt and looks rude, or starts answering it and loses the synthesis state. The team adds interrupt-resumable-thought: the synthesis pushes a thought-frame onto a stack, the agent acknowledges the interrupt with 'one sec — finishing the synthesis section, then I'll grab Tuesday's paper', completes the step, then pops the frame and resumes. Long thinking survives mid-flight questions.

Diagram

Solution

Therefore:

Introduce an explicit thought-frame: when starting a multi-step chain, push a frame onto a stack with the goal, the steps completed, and the next step. On interrupt: acknowledge briefly ('hold on — finishing X first' or 'switching: Y'), handle the interrupt, then look at the top frame and explicitly resume ('back to X — I was at step 3 / 6'). Cap stack depth to prevent infinite suspension. Frames older than a configurable window expire (the agent admits the resume would be reconstruction, not continuation).

What this pattern forbids. Interrupts cannot silently discard in-flight multi-step reasoning; all paused chains must be visibly tracked, named in the next reply, and either resumed or explicitly abandoned.

The smaller patterns that complete this one —

And the patterns that stand alongside it, or against it —

  • complementsAgent Resumption★★Persist agent execution state so a long-running run survives restarts, deploys, or user disconnects.
  • complementsConversation Handoff to Human★★Transfer the entire conversation thread from agent to human operator, with state transfer and return primitive.
  • complementsDecision Log★★Persist the agent's reasoning trace alongside its actions so post-hoc review can explain why.
  • complementsAppend-Only Thought StreamMake the agent's thought log append-only so the agent cannot rewrite its own history.
  • complementsInterruptible Agent ExecutionTreat pause, resume, and cancel as a first-class control surface on every long-running agent so users can halt expensive or off-track trajectories mid-task while state is preserved for resumption.

Neighbourhood

Click any neighbour to follow the language. Scroll to zoom, drag to pan.