> ## Documentation Index
> Fetch the complete documentation index at: https://reedai-07fa30f1.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Continue & Branches

> Navigate conversation branches and continue threads for complex problem-solving

## Conversation Branching Overview

ZeroTwo uses a tree structure for conversations, allowing you to explore multiple paths from any point without losing previous work. This powerful feature enables experimentation, comparison, and iterative refinement.

<Note>
  Every time you edit a message or regenerate a response, you create a new branch. All branches are preserved, letting you explore different approaches and return to any point in the conversation.
</Note>

## Understanding Conversation Trees

Conversations aren't linear - they're branching trees of possibilities.

### Tree Structure Visualization

```
Root
├─ User: "Create a sorting function"
│  ├─ AI: [Bubble sort implementation]
│  │  └─ User: "Make it faster"
│  │     └─ AI: [Optimized bubble sort]
│  │
│  └─ User (edited): "Create a sorting function with O(n log n)"
│     └─ AI: [Merge sort implementation]
│        ├─ User: "Add error handling"
│        │  └─ AI: [With error handling]
│        │
│        └─ User: "Show unit tests"
│           └─ AI: [With test examples]
```

<Info>
  Each path represents a different conversation direction. You can explore all paths and return to any branch point.
</Info>

## Creating Branches

There are several ways to create new conversation branches.

<Tabs>
  <Tab title="Edit Messages">
    **Most common branching method**:

    <Steps>
      <Step title="Hover over a message">
        Move your cursor over any of your previous messages
      </Step>

      <Step title="Click Edit">
        Click the **✏️ Edit** button that appears
      </Step>

      <Step title="Modify and save">
        Change the message and click **Save & Regenerate**
      </Step>

      <Step title="New branch created">
        A new branch forms from that point, preserving the original path
      </Step>
    </Steps>

    <Check>
      Original conversation remains accessible - you haven't lost anything!
    </Check>
  </Tab>

  <Tab title="Regenerate Responses">
    **Create alternative AI responses**:

    <Steps>
      <Step title="Hover over AI response">
        Place cursor over any AI message
      </Step>

      <Step title="Click Regenerate">
        Click the **🔄 Regenerate** button
      </Step>

      <Step title="New variation">
        AI generates an alternative response, creating a branch
      </Step>

      <Step title="Compare versions">
        Use arrows to switch between response variations
      </Step>
    </Steps>

    <Tip>
      Generate 3-4 variations to see different approaches, then pick the best one.
    </Tip>
  </Tab>

  <Tab title="Continue from Earlier">
    **Jump back and continue**:

    <Steps>
      <Step title="Click earlier message">
        Click on any message in the conversation history
      </Step>

      <Step title="Type new message">
        Add a new message from that point
      </Step>

      <Step title="Branch from there">
        Creates a new path from that earlier point
      </Step>

      <Step title="Original path preserved">
        The later messages still exist on the original branch
      </Step>
    </Steps>

    <Info>
      Useful for exploring "what if" scenarios without losing later work.
    </Info>
  </Tab>
</Tabs>

## Navigating Branches

Move between different conversation paths efficiently.

### Visual Branch Indicators

**Branch markers you'll see**:

<CardGroup cols={2}>
  <Card title="Branch Icon" icon="code-branch">
    🔀 appears next to messages with multiple branches
  </Card>

  <Card title="Active Path Highlight" icon="highlighter">
    Current branch path is visually highlighted
  </Card>

  <Card title="Response Counter" icon="list-ol">
    "Response 2 of 4" shows multiple response variations
  </Card>

  <Card title="Breadcrumb Trail" icon="location-dot">
    Shows your path through the conversation tree
  </Card>
</CardGroup>

### Navigation Methods

<Tabs>
  <Tab title="Arrow Navigation">
    **Use arrows to switch responses**:

    * **◀️ Previous**: View earlier response variation
    * **▶️ Next**: View next response variation
    * **Counter**: Shows "Response 2 of 3"

    **Keyboard shortcuts**:

    * `Alt/Opt + ←` Previous variation
    * `Alt/Opt + →` Next variation
  </Tab>

  <Tab title="Click to Switch">
    **Click on branch points**:

    1. Click the **🔀 branch icon** on any message
    2. See all available branches from that point
    3. Click the branch you want to explore
    4. Context switches to that branch
  </Tab>

  <Tab title="History Panel">
    **Full conversation overview**:

    <Steps>
      <Step title="Open conversation history">
        Click **📋 History** button in the chat header
      </Step>

      <Step title="View tree structure">
        See the full branching tree of your conversation
      </Step>

      <Step title="Click any node">
        Jump directly to any point in any branch
      </Step>

      <Step title="See statistics">
        View branch counts, message totals, timestamps
      </Step>
    </Steps>
  </Tab>

  <Tab title="Search Branches">
    **Find specific content across branches**:

    1. Click **🔍 Search** in chat header
    2. Enter search term
    3. See results from all branches
    4. Click result to jump to that branch

    <Tip>
      Great for finding that perfect solution you generated earlier.
    </Tip>
  </Tab>
</Tabs>

## Branch Management

Organize and clean up your conversation branches.

### Viewing Branch Information

**For each branch, you can see**:

* 📊 Number of messages in branch
* 🕐 When branch was created
* 📝 Branch starting point (edited message or regeneration)
* 🎯 Current active branch indicator

### Comparing Branches

<Steps>
  <Step title="Enable comparison mode">
    Click **Compare Branches** in the chat header menu
  </Step>

  <Step title="Select branches">
    Choose 2-3 branches to compare side by side
  </Step>

  <Step title="View differences">
    See responses highlighted with differences marked
  </Step>

  <Step title="Choose best approach">
    Evaluate which branch has the best solution for your needs
  </Step>
</Steps>

<Info>
  Comparison mode is perfect for evaluating different approaches to the same problem.
</Info>

### Pruning Branches

Keep your conversation organized by removing unsuccessful paths.

<Warning>
  Deleting branches is permanent. Make sure you've extracted any useful information first.
</Warning>

**To delete a branch**:

1. Navigate to the branch you want to remove
2. Click the **⋮ More** menu in chat header
3. Select **Delete Branch**
4. Confirm deletion

<Tip>
  Delete branches that led nowhere or contained errors to keep your history clean.
</Tip>

## Continue Conversations

Resume and extend conversations in powerful ways.

### Continue from Any Point

You can continue the conversation from any message, creating a new direction:

<Steps>
  <Step title="Find starting point">
    Scroll to the message where you want to branch
  </Step>

  <Step title="Click or type">
    Click the message, then type a new message in the input
  </Step>

  <Step title="Send message">
    Your new message creates a branch from that point
  </Step>

  <Step title="Explore new direction">
    Continue with a different approach or question
  </Step>
</Steps>

**Example use case**:

```
You're 20 messages deep into optimizing an algorithm, but realize you 
should have explored a completely different approach. Click on message 5 
and start a new branch with the alternative approach.
```

### Long Conversation Management

For complex, multi-session work:

<Tabs>
  <Tab title="Conversation Summaries">
    **Get context quickly**:

    Ask AI to summarize the conversation so far:

    ```
    Summarize our conversation and the key decisions we've made
    ```

    AI will review all branches and provide a comprehensive summary.
  </Tab>

  <Tab title="Export and Continue">
    **Document your progress**:

    1. Export current branch as markdown
    2. Review the full conversation
    3. Continue in a new chat with summary
    4. Reference exported conversation as needed
  </Tab>

  <Tab title="Branch Checkpoints">
    **Mark important points**:

    Star or bookmark important messages/branches:

    * ⭐ Star critical solutions
    * 📌 Pin reference points
    * 🏷️ Tag branches with labels

    Easily return to these checkpoints later.
  </Tab>
</Tabs>

## Advanced Branching Techniques

### Parallel Exploration

Explore multiple approaches simultaneously:

<Steps>
  <Step title="Create multiple branches">
    From one message, create 3-4 different branches exploring different approaches
  </Step>

  <Step title="Develop each independently">
    Take each branch several messages deep
  </Step>

  <Step title="Compare results">
    Use comparison mode to evaluate all approaches
  </Step>

  <Step title="Synthesize or choose">
    Either pick the best or ask AI to combine the best aspects
  </Step>
</Steps>

**Example**:

```
Starting point: "Design a caching system"

Branch 1: Redis-based approach
Branch 2: In-memory cache approach  
Branch 3: CDN-based approach
Branch 4: Hybrid approach

Compare all four, then create a final branch synthesizing insights.
```

### Iterative Refinement

Use branches for progressive improvement:

```
Root: "Create a user authentication system"

Branch A1: Basic email/password auth
  └─ Branch A2: Add password validation
     └─ Branch A3: Add rate limiting
        └─ Branch A4: Add 2FA support

Branch B1 (from root): OAuth-based auth
  └─ Branch B2: Add social login
     └─ Branch B3: Add JWT tokens

Compare A4 and B3, then create final Branch C combining best aspects.
```

### Hypothesis Testing

Test different assumptions with branches:

<AccordionGroup>
  <Accordion title="Technical approach testing">
    **Test competing solutions**:

    Start: "My API is slow"

    * Branch 1: "Let's optimize database queries"
    * Branch 2: "Let's add caching"
    * Branch 3: "Let's use pagination"

    Each branch explores that solution fully, then compare results.
  </Accordion>

  <Accordion title="Parameter exploration">
    **Try different configurations**:

    Start: "Design a recommendation algorithm"

    * Branch A: Using collaborative filtering
    * Branch B: Using content-based filtering
    * Branch C: Hybrid approach

    Evaluate trade-offs in each branch.
  </Accordion>

  <Accordion title="Learning paths">
    **Explore related topics**:

    Start: "Explain React hooks"

    * Branch 1: Deep dive into useState
    * Branch 2: Deep dive into useEffect
    * Branch 3: Deep dive into useContext
    * Branch 4: Custom hooks tutorial

    Each branch becomes a learning module.
  </Accordion>
</AccordionGroup>

## Use Cases and Patterns

### Debugging Complex Issues

<Steps>
  <Step title="Initial problem description">
    ```
    My React app crashes when clicking the submit button
    ```
  </Step>

  <Step title="Create diagnostic branches">
    * Branch A: Investigate event handler
    * Branch B: Check state management
    * Branch C: Review component lifecycle
  </Step>

  <Step title="Follow promising leads">
    Branch B finds state issue - continue deep on that branch
  </Step>

  <Step title="Solve and document">
    Solution found in Branch B, message 8. Star it for reference.
  </Step>
</Steps>

### Architecture Decision Making

```
Decision: Choose database for new project

Branch 1: PostgreSQL approach
- Pros/cons exploration
- Schema design
- Query patterns
- Scaling considerations

Branch 2: MongoDB approach  
- Pros/cons exploration
- Document design
- Query patterns
- Scaling considerations

Branch 3: Hybrid approach
- PostgreSQL for structured data
- MongoDB for flexible data
- Integration patterns

Compare all three branches → Make informed decision
```

### Learning and Exploration

**Pattern**: Progressive topic exploration

```
Topic: Machine Learning

Root: "Introduce me to machine learning"

Branch 1: Supervised Learning
  ├─ 1.1: Classification
  │  ├─ 1.1.1: Decision Trees
  │  └─ 1.1.2: Neural Networks
  └─ 1.2: Regression
     └─ 1.2.1: Linear Regression

Branch 2: Unsupervised Learning
  ├─ 2.1: Clustering
  └─ 2.2: Dimensionality Reduction

Each branch becomes a learning path you can explore at your own pace.
```

## Best Practices

<AccordionGroup>
  <Accordion title="Name your mental branches">
    **Track what each branch explores**:

    Keep a mental (or written) label for branches:

    * "Performance optimization path"
    * "Security-focused approach"
    * "Beginner-friendly version"
    * "Enterprise-scale solution"

    This helps you remember what you were exploring in each branch.
  </Accordion>

  <Accordion title="Don't fear branching">
    **Experiment freely**:

    ✅ **Do**:

    * Create branches to test ideas
    * Try unconventional approaches
    * Ask "what if" questions
    * Explore multiple solutions

    ❌ **Don't**:

    * Worry about "wasting" messages
    * Fear creating too many branches
    * Hesitate to try something new

    You can always delete unsuccessful branches later.
  </Accordion>

  <Accordion title="Use branches for versions">
    **Iterate on solutions**:

    Pattern:

    ```
    v1 (Basic): Working solution
    v2 (Refined): With error handling
    v3 (Production): With tests and documentation
    v4 (Optimized): With performance improvements
    ```

    Each version is a branch, easy to compare and reference.
  </Accordion>

  <Accordion title="Document important branches">
    **Preserve key decisions**:

    When you find a great solution:

    1. Star the message
    2. Add a note explaining why this approach won
    3. Export the branch for documentation
    4. Reference in future conversations

    <Tip>
      Copy the full branch into a new conversation titled "Final Solution - \[Topic]"
    </Tip>
  </Accordion>

  <Accordion title="Clean up regularly">
    **Maintain clarity**:

    Periodically:

    * Review all branches
    * Delete dead-end explorations
    * Keep only promising/reference branches
    * Export important solutions before deleting

    This keeps your conversation manageable.
  </Accordion>
</AccordionGroup>

## Keyboard Shortcuts

Speed up branch navigation:

| Action             | Shortcut       | Description                     |
| ------------------ | -------------- | ------------------------------- |
| Previous variation | `Alt/Opt + ←`  | View previous response version  |
| Next variation     | `Alt/Opt + →`  | View next response version      |
| Edit message       | `E` (hover)    | Edit message and create branch  |
| Regenerate         | `R` (hover)    | Generate new response variation |
| History panel      | `Cmd/Ctrl + H` | Open conversation history tree  |
| Search branches    | `Cmd/Ctrl + F` | Search across all branches      |
| Star message       | `S` (hover)    | Star important messages         |

<Info>
  Enable keyboard shortcuts in Settings > General > Keyboard Shortcuts
</Info>

## Branch Examples

### Example 1: Code Review Process

```
Start: [Upload code file] "Review this code"

Main branch: General review with suggestions

Branch A (from message 3): "Focus on security vulnerabilities"
  └─ Detailed security analysis
     └─ "Show how to fix the SQL injection risk"
        └─ Fixed code with explanation

Branch B (from message 3): "Focus on performance optimization"
  └─ Performance analysis
     └─ "Show before/after benchmarks"
        └─ Optimized code with metrics

Result: Two specialized reviews, choose or combine insights.
```

### Example 2: Writing and Editing

```
Start: "Write a blog post about React hooks"

Branch 1: Technical deep-dive version
  └─ For experienced developers
  
Branch 2: Beginner-friendly version
  └─ For React newcomers
  
Branch 3: Tutorial format
  └─ Step-by-step with code examples

Edit Branch 2 further:
  └─ Branch 2.1: Add more examples
  └─ Branch 2.2: Simplify explanations
  └─ Branch 2.3: Add diagrams

Compare all, then choose Branch 2.2 as final.
```

### Example 3: Problem Solving Journey

```
Problem: "E-commerce site is slow"

Branch A: Frontend investigation
  ├─ A1: Bundle size analysis
  ├─ A2: Render performance
  └─ A3: Network requests

Branch B: Backend investigation
  ├─ B1: Database query optimization
  ├─ B2: API response times
  └─ B3: Server resource usage

Branch C: Infrastructure investigation
  ├─ C1: CDN configuration
  ├─ C2: Caching strategy
  └─ C3: Load balancing

Branch B1 finds the issue (N+1 queries). Continue from B1:
  └─ B1.1: Implement eager loading
     └─ B1.2: Add database indexes
        └─ B1.3: Verify performance improvement
```

## Troubleshooting

<AccordionGroup>
  <Accordion title="Lost in too many branches">
    **If branch tree is overwhelming**:

    1. Open History panel to see full structure
    2. Use search to find specific content
    3. Delete unsuccessful branches
    4. Star your current best solution
    5. Consider starting a new chat with the best solution copied over

    <Tip>
      Limit yourself to 3-4 active branches at once for clarity.
    </Tip>
  </Accordion>

  <Accordion title="Can't find a previous branch">
    **Recovery methods**:

    * Use **Search** (Cmd/Ctrl + F) to find content
    * Open **History panel** to view tree structure
    * Check **Starred messages** for important points
    * Use **Export** to search full conversation text

    All branches are preserved unless explicitly deleted.
  </Accordion>

  <Accordion title="Branch navigation not working">
    **Try these fixes**:

    * Refresh the page
    * Clear browser cache
    * Check for browser console errors
    * Try keyboard shortcuts instead of clicking
    * Update to latest browser version
  </Accordion>

  <Accordion title="Accidentally deleted important branch">
    **Unfortunately**:

    Branch deletion is permanent and cannot be undone.

    **Prevention**:

    * Export important conversations regularly
    * Star critical messages before deleting
    * Use deletion carefully
    * Keep backups of important solutions
  </Accordion>
</AccordionGroup>

## Next Steps

<CardGroup cols={2}>
  <Card title="Edit & Regenerate" icon="arrows-rotate" href="/chat/edit-and-regenerate">
    Master message editing and regeneration
  </Card>

  <Card title="Files & History" icon="clock-rotate-left" href="/getting-started/files-and-history">
    Manage conversation history
  </Card>

  <Card title="Canvas" icon="pen-to-square" href="/tools/canvas">
    Iteratively develop content in Canvas
  </Card>

  <Card title="Projects" icon="folder" href="/workspaces/projects-and-folders">
    Organize conversations in projects
  </Card>
</CardGroup>

<Check>
  Master conversation branching to explore solutions fearlessly and find the perfect approach!
</Check>
