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.
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.
Compared with other products
| Sessionboxer | Devin | Cursor Cloud Agents | Codex cloud | Claude Code on the web | OpenHands | T3 Code | |
|---|---|---|---|---|---|---|---|
| Snapshot and fork the whole machine | ✓ | — | — | — | — | — | ✗ |
| Revert the conversation, branches | ✓ | — | — | — | — | — | — |
| Hand a session over to a different agent | ✓ | ✗ | ✗ | ✗ | ✗ | — | — |
| Agents | Claude Code, Codex, Cursor, Devin | Devin | Cursor | Codex | Claude Code | own agent, any model | Claude 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.