Feature: Conversation branching / fork from message

Resolved 💬 3 comments Opened Jan 4, 2026 by jdxbla Closed Jan 8, 2026

Feature Request

Problem:
Sessions naturally evolve through multiple topics. For example, a single session might flow:

  • RAM analysis → Zen Browser setup → GitHub/Telegram comms spec → Claude workflow discussion

When resuming, you get the entire monolithic conversation. There's no way to extract or resume just one "branch" of the conversation.

Current workarounds:

  • Start separate sessions per topic (requires discipline upfront)
  • Manually extract artifacts to files as you go
  • Accept sessions are messy

Proposed feature:
Allow users to fork/branch a conversation from a specific point:

# Fork from a specific message into a new session
/fork <message-id> --name zen-setup

# Or interactively select a branch point
/fork --interactive

# Resume just that branch
claude --resume zen-setup

Why this matters:

  • Conversations organically branch - that's natural human workflow
  • The JSONL already has parentUuid linking messages - the data structure supports it
  • isSidechain exists for subagents - similar concept could extend to user-controlled branches
  • Would enable cleaner context management without losing the benefits of fluid conversation

Use case example:

"I started debugging RAM issues, but discovered Edge was the problem, which led to setting up Zen Browser. Now I want to share just the Zen setup context with a colleague - but I can't extract just that branch."

This would make Claude Code significantly more powerful for complex, evolving work sessions.

View original on GitHub ↗

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