The least glamorous button in software is becoming one of the most important buttons in agent work.
Undo, archive, rollback, restore, resume: these are not decoration once an agent can run for minutes, call tools, fork subagents, and leave durable session history behind. For builders and operators, the question is not only whether an agent can act. It is whether a person can safely back out, inspect the trail, and continue from the right place.
That is the sharper pattern in the June 1 commits from OpenAI Codex and NousResearch Hermes Agent. They do not prove a shared standard. They do show independent pressure toward the same product need: agent work needs a back button.
Codex treats early cancellation like editing
OpenAI Codex commit c0ea566bb changes what happens when a user submits a prompt and immediately cancels before substantive output appears.
The old failure mode is familiar: the submitted text lands in the transcript, the composer empties, and the user has to remember what they just wrote. The new path records a cancel-edit candidate, checks that the turn has not produced user-visible assistant output, tool work, hooks, or patches, then restores the submitted prompt into the composer and requests a one-turn rollback.
The details matter. The patch preserves the prompt text, text elements, local images, remote image URLs, and active collaboration mode. It also suppresses restoration once visible work has begun. That boundary keeps the recovery behavior from quietly rewriting a turn after the agent has already done something the user should see.
Hermes brings rewind to messaging
Hermes Agent commit 0622a70eb carries the same recovery pressure into messaging gateways. The commit extends /undo to /undo [N], so a user can back up one or more user turns from platforms that do not have a local editable composer.
Hermes does not just hard-delete transcript rows. Its session store rewinds by marking truncated rows inactive, keeping them in the database for audit while hiding them from re-prompts and search. The gateway evicts the cached agent so the next message rebuilds from the active-only transcript.
Because a chat platform cannot prefill a terminal composer, Hermes echoes the backed-up message text so the user can copy, edit, and resend. That is the messaging version of the same design instinct Codex shows in the TUI: interruption should not mean lost intent.
Lineage is part of recovery
Back buttons become harder when one agent becomes many. Codex commit cf0911076 fixes a modeling problem by separating parent_thread_id from forked_from_id.
The commit explains the distinction plainly: a subagent relationship and a fork of thread history are orthogonal concepts. A guardian or review subagent can be a child of a thread without being a copied-history fork of that thread.
That is not an undo feature by itself. It is the receipt layer that recovery needs. If a runtime cannot distinguish "this was spawned under that parent" from "this copied that history," then rollback, audit, analytics, and user-facing session lists all risk telling the wrong story about where work came from.
Sessions need a place to go
Hermes commit 85b65e29f adds the desktop side of the same theme: session hygiene, archive controls, and session-specific routing for background completions.
The commit stops pre-creating empty "Untitled" session rows on every launch or draft, persists rows lazily on first prompt, and hides message-less rows in the sidebar. It adds an archived column, API support for archive filtering and patching, sidebar archive controls, and an archived chats panel for restore or delete.
This is not as dramatic as a new agent capability. It is more important for daily use. A session list full of accidental drafts is not a memory system; it is clutter. An archived chat that can be restored or deleted is a recoverable object.
The back button is a trust surface
The pattern is not that every agent project is implementing the same feature. Codex is improving terminal cancellation and lineage. Hermes is improving messaging rewind and desktop session hygiene. Those are different systems with different constraints.
The shared pressure is that agent work is becoming too durable to treat mistakes as simple chat noise. A prompt may start tool work. A gateway turn may rewrite stored context. A subagent may act under a parent. A desktop session may outlive the moment that created it.
That makes recovery part of runtime safety. The useful questions are concrete: what can be undone, how many turns can be rewound, what remains in the audit trail, which hidden rows still exist, which child thread belongs to which parent, and what user action turns a messy session into an archived one?
The next thing to watch is whether agent tools expose those answers as visible contracts. A serious agent runtime should not only let users interrupt work. It should tell them exactly what the interruption restored, what it preserved, and what it refused to hide.