Parallel Works

Branching Conversations

AI Chat uses a tree-based message structure rather than a simple linear history. This means you can create branches at any point in a conversation to explore alternative responses, compare different approaches, or refine your prompts without losing previous work.

How Branching Works

Every message in a conversation has a parent message (except the first message, which is the root). When you edit a previous message or regenerate an AI response, a new branch is created from that point. The original branch is preserved, and you can switch between branches at any time.

This tree structure means a single conversation can contain multiple parallel threads of discussion, all sharing the same earlier context.

Creating a Branch

There are two ways to create a new branch:

Editing a Message

  1. Hover over one of your messages to reveal the action buttons.
  2. Click the Edit button.
  3. Modify the message content in the editor that appears.
  4. Click Send to submit the edited message.

A new branch is created starting from the edited message. The AI generates a fresh response based on your updated input. The original message and its response remain available on the previous branch.

Regenerating a Response

  1. Hover over an AI response to reveal the action buttons.
  2. Click the Regenerate button.

The model generates a new response to the same prompt. This creates a sibling branch from the same parent message. You can regenerate multiple times to get different responses and compare them.

When a message has sibling branches (multiple responses to the same parent), a branch navigator appears below the message. The navigator shows the current branch position (for example, "2/3") and provides arrow buttons to switch between siblings.

Clicking the left or right arrow loads the sibling message and its entire downstream conversation thread. The branch navigator only appears at messages where the conversation actually diverges.

Active Branch

Each conversation tracks an active branch, which determines which path through the message tree is displayed by default when you open the conversation. The active branch updates automatically as you send messages or navigate to different branches.

Use Cases

Branching is useful in several scenarios:

  • Comparing approaches — Ask the same question with different phrasings to see how the model responds differently, without starting a new conversation.
  • Exploring alternatives — Regenerate a response multiple times and keep all versions for comparison.
  • Iterating on prompts — Edit an earlier message to refine your prompt while preserving the original conversation path.
  • A/B testing — Test different instructions or system configurations within the same conversation context.