Branching Thinking

Explore every line of thought with Git-style branching. Fork conversations, merge branches, and never lose a train of thought again.

What Is Branching?

In YeeroAI, every chat has a Main branch by default. Branching lets you create alternative conversation paths from any point, similar to Git branches. This is powerful for:

  • Exploring alternatives — Try different prompts or approaches without altering the main conversation.
  • Comparing strategies — Run parallel experiments and compare results.
  • Preserving context — Fork before a risky prompt so you can always return to the original state.
  • Organizing topics — Keep different subtopics in separate branches within the same chat.

Forking a Branch

There are several ways to create a new branch:

Fork from a Message

Hover over any AI response message and click "Fork from this message". This creates a new branch that starts from that message's context.

Fork from the Sidebar

Right-click a chat in the sidebar, select "Branches", then click "Fork". Enter a name for the new branch and confirm.

Fork a Node

Use the message node's context menu and select "Fork from this node" to create a branch based on conversation history up to that point.

💡 Branch Naming

Give your branches descriptive names so you can easily identify them later. Branch names can be up to the maximum character limit.

Switching Between Branches

To switch to a different branch within a chat:

  1. Right-click the chat in the sidebar and select "Branches".
  2. You'll see a list of all branches with their message counts.
  3. Click "Checkout" on the branch you want to switch to.
  4. The message area updates to show the selected branch's conversation.

The currently active branch is marked as "Current". The Main branch is always available.

Merging Branches

Merging appends messages from a source branch to the current (target) branch:

  1. Switch to the branch you want to merge into (the target).
  2. Right-click the chat, select "Branches", then click "Merge Branch".
  3. Select the source branch you want to merge from.
  4. Review the warning: messages from the source branch will be appended to the current branch.
  5. Click "Confirm Merge".
⚠ Merge Is Append-Only

Merging appends messages from the source branch to the end of the current branch. It does not interleave or rewrite messages.

Enforcing a Branch

Enforcing forces the current branch to point to the same position as a source branch. This is useful when you want to reset a branch to match another:

  1. Switch to the branch you want to update (the target).
  2. Right-click the chat, select "Branches", then click "Enforce Branch".
  3. Select the source branch whose position you want to enforce.
  4. Review the warning and click "Confirm Enforce".
⚠ Use With Caution

After enforcing, the current branch will point to the source branch's position. Any messages beyond that point on the current branch may become unreferenced.

Renaming a Branch

To rename a branch:

  1. Right-click the chat in the sidebar and select "Branches".
  2. Click "Rename" on the branch you want to rename.
  3. Enter the new name and confirm.
💡 Unique Names

Branch names must be unique within a chat. If you try to use a name that already exists, you'll get an error.

Branch Expiration Policy

You can configure automatic cleanup for branches that accumulate too many old messages:

  1. Right-click the chat, select "Branches", then click "Expire Policy" on a branch.
  2. Toggle "Enable Expiration Policy".
  3. Set the Expiration Duration in months.
  4. Messages older than the specified duration will be automatically cleaned up.

Deleting a Branch

To delete a branch:

  1. Right-click the chat, select "Branches".
  2. Click "Delete" on the branch you want to remove.
  3. Review the warning — all messages in that branch will be permanently deleted.
  4. Click "Confirm Delete".
⚠ Cannot Undo

Deleting a branch is permanent. All messages in the branch will be removed and cannot be recovered. The Main branch cannot be deleted.

Branch Limits

LimitValue
Maximum branches per chat100
Maximum messages per chat10,000
Main branchCannot be deleted