← Back to patterns
Agent Workflow
Research Pattern

Conversation Branches

Fork the thread, keep both sides

Linear chat forces you to abandon one direction to explore another. Conversation Branches let you fork from any turn into a parallel thread, develop both, and compare side by side. The conversation becomes a tree you can prune — not a stack you scroll through.

Metaphor

Branching Path

Interaction

Fork-from-Turn, Side-by-Side Compare

Use case

Exploring Alternatives, Decision Trees, Versioned Reasoning

Failure mode

Linear Stack

Control mechanisms

Branch Button per Turn · Tree View · Compare Mode

Reference examples

ChatGPT branch-in-new-chat · BranchGPT · Claude Code /fork · Claude regenerate alternatives

Interactive Example

The live side-by-side is the comparison.

This prototype already contains the contrast between chat and the pattern response. It stands as the primary comparison surface for this page.

Loading Demo

Preparing the interactive example for this pattern.

Chat treats history as a stack. Thinking is a tree.

Linear chat forces a single thread, so the moment you want to explore an alternative you have to abandon the current direction or copy-paste state by hand. There is no surface for the most natural question in any real investigation — what if I had asked it differently back at that turn?

Conversation Branches let you fork from any turn into an isolated parallel thread and develop both, with the full fork tree visible and every branch point annotated with the hypothesis you named. Exploration stops being destructive: you can compare two directions side by side, then prune the tree instead of scrolling a stack you can no longer reason about.

When the cost of exploring a second path drops to one click, you stop committing to the first one too early.

DOPE Lens

How this pattern improves AI interaction quality.

Observability

The full branch tree is visible; every fork point is annotated

Directability

Fork from any turn, switch branches, merge or discard

Predictability

Branches are isolated — work in one does not leak into another

Explainability

Each fork shows the reason or hypothesis the user named when creating it

Fit

Where it earns its place.

Use it
when

Users want to compare alternative paths from the same starting point without losing either.

Avoid
when

The task is single-path and forks would just clutter the surface.

Closest neighbours

No product ships this exactly — these come closest.

This is a research pattern — we describe a UX move that no shipping product implements cleanly today. The entries below are adjacent: they share the spirit of the pattern even if they take a different shape.

Research Frame

Why this pattern exists, and where it breaks.

Linear chat forces a single thread — exploring an alternative means abandoning the current one or copy-pasting state by hand.

Let users fork from any turn into a parallel branch and compare side by side, with the full tree visible.

Chat treats history as a stack, not a tree. There is no surface for "what if I had asked it differently here?".

Branch sprawl can become a tree the user cannot navigate; needs pruning and clear naming.

Common questions

What people ask about this pattern.

When should I use the Conversation Branches pattern?

+

Users want to compare alternative paths from the same starting point without losing either.

When should I avoid the Conversation Branches pattern?

+

The task is single-path and forks would just clutter the surface.

What problem does Conversation Branches solve?

+

Linear chat forces a single thread — exploring an alternative means abandoning the current one or copy-pasting state by hand.

Why is chat the wrong fit for this?

+

Chat treats history as a stack, not a tree. There is no surface for "what if I had asked it differently here?".

Related Patterns

Curated connections, not just neighbors.

Hand-picked relationships — what this pattern pairs with in practice, what it replaces, what it builds on, and what builds on it.

  • Often paired with

    Editable Plan

    Fork at the turn the plan appears, edit each branch's Editable Plan, compare, and approve the one that holds up.

  • Alternative to

    Parallel Alternatives

    Parallel Alternatives shows three answers in one turn to pick or blend; Conversation Branches forks the whole thread.

  • Extended by

    Spatial Canvas

    Spatial Canvas lays the branches out as nodes and adds edges, so one thread's output can feed another.