Forking & Snapshots
Learn how to fork an agent conversation from any message — creating a new task with a git snapshot while leaving the original task untouched.
Fork from Message lets you branch a conversation from any point in its history. A new task is created with a git snapshot of the worktree at that moment, while the original task continues unchanged.
When to Fork
- The agent went down a wrong path and you want to try a different approach from an earlier point.
- You want to explore two alternative solutions from the same starting point.
- The agent completed part of the work, but you want to take over from there in a new task.
How to Fork
- Open a task with an active or past session.
- In the session conversation history, find the message you want to fork from.
- Click the Fork action on that message.
- Verun creates a new task with:
- A git snapshot of the worktree at that point in time.
- A copy of the conversation up to that message.
- A new auto-generated branch name.
- The original task and session are completely unaffected.
Original Task: "Refactor auth module"
├── Message 1: "I'll start by..."
├── Message 2: "Now I'll update..."
├── Message 3: ← Fork here
│ └── New Task: "Refactor auth module (fork)"
│ ├── Branch: bold-fox-128
│ ├── Snapshot of worktree at Message 3
│ └── Conversation history up to Message 3
├── Message 4: "Continuing with..."
└── Message 5: "Done."What Happens to the Git Snapshot
The forked task receives a copy of the worktree as it existed at the time of the forked message. This means:
- Any files the agent had created or modified up to that point are present.
- Changes made after the forked message (in the original task) are not included.
- The forked task gets its own branch and can diverge freely.
Fork vs. New Task
| Fork | New Task | |
|---|---|---|
| Starting point | Mid-conversation snapshot | Clean worktree from HEAD |
| Conversation history | Copied up to fork point | Empty |
| Use case | Try a different approach | Start something unrelated |
Choose Fork when you want to retry or branch off from existing work. Choose New Task when you want to start fresh from the current state of your repository.