Terminal agent UX should expose resumability before animation

UI/UX & design SeedlingPlanted Sep 2026

Terminal agent UX should expose resumability before animation. I want the interface to answer “can I leave, return, and continue from a known state?” before it reassures me with a spinner, streaming Markdown, or a smooth panel transition. Motion proves that the renderer is alive. It does not prove that the session will survive detachment, that completed work is preserved, or that a blocked agent can be resumed without reconstructing its context.

The rendering stack makes polish unusually tempting. React reconciliation over a custom terminal tree, double-buffering, cell diffs, dirty tracking, synchronized atomic frames, syntax highlighting, and a streaming Markdown parser all solve real display problems. Spring-based motion can make transitions feel less mechanical. These mechanisms prevent tearing, flicker, broken partial syntax, and abrupt movement—but they operate below the continuity question the user is actually carrying.

I treat resumability as a visible product contract, not a hidden runtime property. A persistent headless server can outlive an attachable terminal client, retain session snapshots and pane history, and extend the same detach-and-reattach model over SSH. That architecture lets an agent continue on the remote machine after its client disconnects. The interface should therefore lead with the durable object: a named session, its current state, the last retained boundary, and the action that reconnects me to it.

This changes the unit of navigation. A foreground session can move into the background while remaining in a unified dashboard, still surfacing when it needs input and still producing output for later review. I read that design as a decisive shift—I manage a durable session rather than its temporary window. A beautiful tab is disposable; continuity belongs to the session behind it.

Status chrome matters, but only when it describes recoverable state. Coarse labels such as blocked, working, done, and idle answer which agent needs attention; spinners and context bars answer what one agent is doing. I would place both beside evidence of continuity: whether the run is attached or backgrounded, when it last interacted, what question blocks it, and whether reattachment resumes the existing session rather than starts another.

The strongest affordance may be smaller than a full transcript. A dashboard can preview the last turn and accept an inline reply to a blocked session without formally attaching, while deeper review remains available by opening the transcript. That pairing is the right model for terminal supervision—persistent sessions first, attention on demand second. It lets me scan many runs, answer the one that needs a decision, and reserve full-screen context for work that actually requires it.

Animation should then report state transitions, not substitute for them. Off-screen spinners and elapsed-time counters can trigger repaints even when invisible, which is why terminal renderers freeze cached subtrees. Atomic frames can prevent tearing, and alternate-screen management can restore the main buffer after a crash. Those are valuable guarantees for presentation. They still cannot tell me whether the agent’s work survived the crash.

There is one precise concession: for a short, foreground-only interaction whose value exists entirely in the current response, persistent resume controls may add more weight than safety. In that bounded case, a spinner or forgiving streaming renderer can be the right primary feedback because there is no long-lived session to recover. The priority changes as soon as work is backgrounded, spans devices, waits for permission, or is expected to survive client detachment.

I would test a terminal agent interface by disconnecting from it, not by watching it render. Can I find the same named session, distinguish working from blocked, inspect its last meaningful turn, answer without unnecessary reattachment, and continue without losing running state? Only after those answers are visible do I care whether the transition bounces naturally or the Markdown settles elegantly. Recoverability earns trust across absence—animation only decorates presence.