# Forking & checkpoints

Every message has a hover toolbar: copy it, edit & resend it, fork a new session from it, or restore the workspace checkpoint taken for that turn. Together they let you explore a different path without losing the one you're on.

## The message toolbar

Hover any message — yours or the agent’s — and a small toolbar appears beneath it. Which buttons show depends on the message:

- Copy — copies the message text. Always available.
- Edit & resend — on your prompts: tweak the wording and run it again from that point.
- Retry — on an agent response: re-run the turn.
- Fork from here — branch a new session that starts from this message.
- Restore checkpoint — roll your files back to the snapshot taken for this turn.

## Forking a conversation

Fork from here spins up a new session that branches at the message you picked. The original session is untouched — you keep its transcript exactly as it was — while the fork lets you try a different prompt, a different approach, or a different agent from that point forward.

> Compare two pathsForked sessions are ordinary sessions, so you can run the original and the fork side by side on the Stage and compare where each one lands.

## Restoring a checkpoint

Foxora captures a workspace checkpoint at each turn — a snapshot of your files before the agent changed them. When one exists, the message shows a checkpoint chip. Restore checkpoint rolls your working tree back to that snapshot, so a turn that went sideways is one click to undo.

> Restore touches your filesRestoring a checkpoint reverts files on disk to the snapshot for that turn. It rewinds the workspace, not the conversation — the transcript stays intact so you can see what happened.

### Buttons appear when they apply

A button only renders when its action is available: edit & resend on your own prompts, retry on responses, and restore only when a checkpoint exists for that turn. If a row shows fewer buttons, the missing actions simply don’t apply there.
