Verun

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

  1. Open a task with an active or past session.
  2. In the session conversation history, find the message you want to fork from.
  3. Click the Fork action on that message.
  4. 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.
  5. 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

ForkNew Task
Starting pointMid-conversation snapshotClean worktree from HEAD
Conversation historyCopied up to fork pointEmpty
Use caseTry a different approachStart 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.

On this page