Feature Request: Session branching/forking for parallel conversations

Resolved 💬 3 comments Opened Jan 19, 2026 by davidlinjiahao Closed Jan 23, 2026

Problem

When working on a complex project, I often want to ask branching/tangential questions without polluting my main conversation. Currently, there's no way to:

  1. Fork/branch a session with its full context
  2. Ask exploratory questions in a "read-only" view of the conversation
  3. Create parallel conversation paths from the same starting point

Current Workarounds (all suboptimal)

  • --resume: Continues the same linear conversation - any input affects it
  • New session: Loses all conversation context (only reads CLAUDE.md)
  • Manual context export: Ask Claude to summarize to a file, then start fresh - loses nuance

Proposed Solution

A /fork or /branch command that:

# In current session
/fork my-branch-name
# Creates a copy of the conversation that can diverge independently

# In new terminal
claude --resume my-branch-name
# Continues from the fork point without affecting the original

Use Cases

  1. Side questions while main agent works: Main session is building a feature, I want to ask "how does X work?" without derailing the implementation
  2. Exploring alternatives: Fork, try approach A in one branch, approach B in another
  3. Checkpoint before risky changes: Fork before a big refactor, easy to go back
  4. Teaching/learning: Fork to ask clarifying questions, return to main task

Additional Context

This is similar to git branching - the conversation is linear, but sometimes you need to explore without committing to that path.

Even a simpler version would help - just copying the session state so --resume shows both the original and the fork.

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗