Desktop rewind fails on conversation-only sessions: not on active chain (chain size 2/N)
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
In Claude Desktop, rewinding to any message in a conversation-only session (no Edit/Write tool use) fails. Per the official checkpointing docs, "every user prompt creates a new checkpoint" — but rewind rejects all targets in conversation-only sessions.
Log signature in %APPDATA%\Roaming\Claude\logs\main.log:
[Rewind] target=<uuid> → assistantUuid=<uuid> not on active chain for <session> (chain size 2/N)
The "2" is constant regardless of N (observed N = 9, 117, 143).
Bisection (ruled out)
- ✅ Standalone CLI (claude v2.1.131) rewinds correctly in the exact same folder
- ✅ Sessions with Edit/Write tool use rewind correctly in Desktop
- ❌ Brand new sessions, brand new folders, both C: and I: drives — all fail
- Plugin hooks not the cause (only PostToolUse on Edit|Write registered; doesn't fire in failing sessions)
- Cross-drive not the cause (same failure on C:)
- Folder rename / migration not the cause (brand new folder fails identically)
- No EXDEV/EPERM/ENOENT errors in main.log
Hypothesis
Desktop's LocalSessions.rewind validator builds an "active chain" of size 2 (latest user + assistant turn) when no file-history snapshot anchors exist, rejecting earlier messages as out-of-chain. The standalone CLI uses a different rewind path and is unaffected.
Possibly relevant
Cowork bridge state shows empty processedMessageUuids / pendingProcessedAcks arrays. If the active-chain definition requires Cowork-acknowledged messages, that could explain the constant chain size 2.
Environment details
- Claude Desktop 1.7196.0.0 (Windows 11, MSIX install)
- Bundled CLI: 2.1.138 (not directly testable — MSIX-sealed)
- Standalone CLI: 2.1.131 (works correctly in same scenario)
- Cowork / remote control enabled
What Should Happen?
Per the official checkpointing docs, every user prompt creates a new checkpoint, so rewinding to any earlier user message in a conversation-only session should succeed — matching the behavior of the standalone CLI (v2.1.131) in the same folder.
Error Messages/Logs
Steps to Reproduce
- Create a fresh empty folder.
- Open it in Claude Desktop and start a new session.
- Have a brief text-only exchange (3+ user messages, no file edits).
- Press Esc Esc, pick any earlier message.
- Observe: "Can't rewind to this message".
Claude Model
Opus
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
2.1.138 (bundled in Claude Desktop 1.7196.0.0); also tested standalone 2.1.131
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
Non-interactive/CI environment
Additional Information
_No response_
This issue has 6 comments on GitHub. Read the full discussion on GitHub ↗