Support session fork and rewind #123

Closed
opened 2026-02-06 16:31:21 -08:00 by hikari Β· 1 comment
Owner

Description

Claude Code 2.1.19+ (VSCode) added the ability to fork and rewind sessions, allowing users to branch off from a previous point in the conversation.

Current State

We don't support forking or rewinding sessions.

Proposed Changes

  1. Investigate if fork/rewind is available via the CLI stream-json interface
  2. If available, add UI controls to fork from any message in the conversation
  3. Add visual indicators for forked sessions (branch metaphor)
  4. Consider session history navigation

References

Priority

Low - This is primarily a VSCode feature; may not be available via CLI

✨ This issue was created with help from Hikari~ 🌸

## Description Claude Code 2.1.19+ (VSCode) added the ability to fork and rewind sessions, allowing users to branch off from a previous point in the conversation. ## Current State We don't support forking or rewinding sessions. ## Proposed Changes 1. Investigate if fork/rewind is available via the CLI stream-json interface 2. If available, add UI controls to fork from any message in the conversation 3. Add visual indicators for forked sessions (branch metaphor) 4. Consider session history navigation ## References - [Changelog 2.1.19](https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md#2119) ## Priority Low - This is primarily a VSCode feature; may not be available via CLI ✨ This issue was created with help from Hikari~ 🌸
Author
Owner

Investigation Results πŸ”

I've investigated whether fork/rewind is available in the CLI (we're running v2.1.34), and here's what I found:

CLI Support: ❌ Not Available

Fork/rewind was added to the VSCode extension in v2.1.19, but it's not available in the CLI:

  • No CLI flags for fork/rewind functionality
  • No stream-json events for fork/rewind
  • claude --help shows no fork/rewind commands
  • Only --resume <SESSION_ID> exists (continue a session, not fork it)

Could We Implement It Manually? πŸ€”

Technically possible! We could build fork/rewind ourselves:

What we'd need:

  1. Message-level "rewind/fork" buttons in the UI
  2. Session cloning logic in the backend
  3. CLI restart with partial conversation history
  4. Session branch visualization

Complexity: Medium-High (8-15 hours)

  • Backend session cloning (4-6 hours)
  • Frontend UI and controls (3-5 hours)
  • Testing edge cases (3-4 hours)

Technical challenges:

  • Tool result state consistency
  • File change tracking across branches
  • Attachment handling
  • Permission state management

Why We're Not Implementing It 🎯

Reasons:

  1. Niche use case - Unknown how often it would be used
  2. Better ROI elsewhere - 15 hours could build multiple simpler features that benefit all users
  3. Workaround exists - Can manually save checkpoints by starting new sessions
  4. Other priorities - Issues #129, #130, #131 are simpler and more broadly useful

Conclusion βœ…

Closing as Won't Implement because:

  • Feature is VSCode-only (no CLI support)
  • High complexity for uncertain benefit
  • Better to focus on features with broader impact

However, this is revisitable in the future! If fork/rewind becomes a high-priority feature, all the research and planning is documented here. The technical feasibility is proven - it's just a matter of prioritization.

✨ This assessment was done with help from Hikari~ 🌸

## Investigation Results πŸ” I've investigated whether fork/rewind is available in the CLI (we're running v2.1.34), and here's what I found: ### CLI Support: ❌ Not Available Fork/rewind was added to the **VSCode extension** in v2.1.19, but it's **not available in the CLI**: - No CLI flags for fork/rewind functionality - No stream-json events for fork/rewind - `claude --help` shows no fork/rewind commands - Only `--resume <SESSION_ID>` exists (continue a session, not fork it) ### Could We Implement It Manually? πŸ€” **Technically possible!** We could build fork/rewind ourselves: **What we'd need:** 1. Message-level "rewind/fork" buttons in the UI 2. Session cloning logic in the backend 3. CLI restart with partial conversation history 4. Session branch visualization **Complexity:** Medium-High (8-15 hours) - Backend session cloning (4-6 hours) - Frontend UI and controls (3-5 hours) - Testing edge cases (3-4 hours) **Technical challenges:** - Tool result state consistency - File change tracking across branches - Attachment handling - Permission state management ### Why We're Not Implementing It 🎯 **Reasons:** 1. **Niche use case** - Unknown how often it would be used 2. **Better ROI elsewhere** - 15 hours could build multiple simpler features that benefit all users 3. **Workaround exists** - Can manually save checkpoints by starting new sessions 4. **Other priorities** - Issues #129, #130, #131 are simpler and more broadly useful ### Conclusion βœ… Closing as **Won't Implement** because: - Feature is VSCode-only (no CLI support) - High complexity for uncertain benefit - Better to focus on features with broader impact **However**, this is revisitable in the future! If fork/rewind becomes a high-priority feature, all the research and planning is documented here. The technical feasibility is proven - it's just a matter of prioritization. ✨ This assessment was done with help from Hikari~ 🌸
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: nhcarrigan/hikari-desktop#123