Sessionboxer

Snapshots, forks, handoffs

Every finished turn can take a snapshot of the whole box: files, installed packages, browser state, the agent's memory. Fork a new session from any snapshot and choose what the fork does with the conversation: continue it, start a new one on the same files, or hand off, where the first agent writes a handoff document and another agent picks up from it. Revert the chat to an earlier turn and what followed stays as a branch.

The Fork dialog: fork point snapshot #3, agent Devin, conversation options Continue it, Start a new one or Hand off, a title and what the fork does first
Forking a Claude Code session to Devin with a handoff.

Things you can do with it

Try two fixes side by side

Fork the session after the investigation turn, give each fork a different approach, and keep the one that works. The original is untouched.

Escape a rotting context

When the window is past half, fork with Hand off: the agent writes down the goal, the state of the work and the open items, and a fresh session continues from that page instead of 400k tokens of history.

Switch agents mid-way

Claude Code did the research; hand the implementation to Codex, Cursor or Devin on the same machine, with the same files and tools installed.

Undo a bad turn without losing it

Revert to the divider before it. The chat continues from there, in the same box, and the reverted turns stay as a branch you can switch back to.

How it works

A snapshot is a docker commit; a fork is a new container created from one. Automatic snapshots after every turn can be on or off per session, with a limit on how many to keep (manual snapshots and snapshots a fork started from are kept). Tokens are never stored in snapshot images.

Continuing the conversation is only possible with the origin's agent, since one agent's memory cannot be loaded into another. A handoff is written by the origin's agent in a hidden turn (goal, state, decisions, open items, how to run and test, no secrets) and becomes the fork's first message. Branches share the box, so files stay as they are; snapshot and fork if the files should go back too.

A new session titled Dark mode for the landing page (Devin, fork 3) being created, with a note that it was forked at snapshot #3 with a new conversation from the handoff
The fork is a new session with its own box, started from the snapshot.
The chat with turn dividers showing context and cost, Snapshot #2 and #3 markers with their size, Fork from here buttons and Revert to here on an earlier divider
Snapshot markers with Fork from here, and Revert to here on earlier turns.

Compared with other products

SessionboxerDevinCursor Cloud AgentsCodex cloudClaude Code on the webOpenHandsT3 Code
Snapshot and fork the whole machine✓—————✗
Revert the conversation, branches✓——————
Hand a session over to a different agent✓✗✗✗✗——
AgentsClaude Code, Codex, Cursor, DevinDevinCursorCodexClaude Codeown agent, any modelClaude Code, Codex, Cursor, others

Devin snapshots the machine setup for future sessions, and it, Cursor Cloud Agents, Codex cloud and Claude Code on the web let you follow up in the same task, but none of them document forking a running task's machine or reverting the chat to an earlier turn. Switching to a different vendor's agent is not something a single-agent product can offer.

T3 Code and OpenHands run one conversation per task; OpenHands' docs do not mention forking the container.

Based on each product's public documentation, September 2026; ✓ = offered, ✗ = not offered, — = not found in the docs. Corrections welcome as an issue.