# Branching

Canonical page: `https://nanthai.tech/features/branching`

Tier: Free

Every conversation is a tree. Explore alternatives, navigate forks, and merge ideas.

Regenerate, retry with a different model, or use multi-model chat to create parallel branches. Branch indicator pills let you switch between siblings in chat view. See the full tree in Ideascape.

## How it works

1. **Every message is a tree node** — Under the hood, each message tracks its parent messages. When multiple messages share the same parent, that's a fork. When a message has multiple parents, that's a merge. This tree structure powers all branching behaviour.
2. **Create branches naturally** — Branches happen automatically: regenerate a response to create a sibling branch, retry with a different model, or use multi-model chat where each model's reply is a separate branch from the same prompt.
3. **Navigate between branches** — At every fork point in the chat, a branch indicator pill appears between messages. It shows which branch you're on (e.g. "Branch 1 of 3") and lets you switch to any sibling branch with a tap.
4. **Explore branches in Ideascape** — Switch to Ideascape view and the full branch tree becomes a spatial map. Each branch is a visible path. Select nodes as context, then send a new message to create a branch that merges ideas from multiple threads.

## What you can do

- **Automatic fork detection** — Whenever multiple replies exist for the same message, the app detects the fork and shows branch indicators. No manual setup required.
- **Regenerate as branching** — Regenerating a response creates a new sibling branch rather than replacing the original. Both versions are preserved — switch between them at any time.
- **Multi-model branching** — In multi-model chat, each model's response is a separate branch from your prompt. Compare them in chat view with branch pills, or spread them out spatially in Ideascape.
- **Branch indicator pills** — Interactive pills appear at fork points in the chat timeline. They show your current branch, the total count, and let you navigate to any sibling with a single tap.
- **Context-driven merges** — In Ideascape, select multiple nodes from different branches as context (+ button or Shift+Click), then send a message. The AI responds drawing on all selected context — effectively merging branches.
- **Focus any branch** — Click a node in Ideascape to set it as the active branch focus. The chat view updates to show that branch's linear history. You can jump between branches without losing your place.
- **Full tree visibility** — Ideascape shows the entire conversation tree at once — forks, parallel threads, and merges are all visible as connected nodes. Zoom out to see the big picture.
- **Continue any branch** — Navigate to any branch and keep chatting. Each branch maintains its own thread of conversation independently. Your other branches remain untouched.

## Perfect for

- Comparing approaches — asking a question, then regenerating with different models to get multiple perspectives. Switch between branches to evaluate each response.
- Exploring what-ifs — forking a conversation to try different directions without losing your original thread. Come back to any branch later.
- Multi-model comparisons — sending one prompt to three models and reviewing each branch side by side in the chat, or spatially in Ideascape.
- Merging the best ideas — selecting the strongest points from different branches in Ideascape, then creating a new message that synthesises them all.
- Iterating on drafts — regenerating a creative response multiple times, keeping every version as a branch, and continuing from the one you like best.

## Related features

- Ideascapes (`/features/ideascapes`)
- Multi-Model Chat (`/features/multi-model-chat`)
- Personas (`/features/personas`)
