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.
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.
There are two ways to create a new branch:
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.
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.
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.
Branching is useful in several scenarios: