Skip to content

Desktop rewind fails on conversation-only sessions: not on active chain (chain size 2/N) #59697

Description

@pudDesign

Preflight Checklist

  • I have searched existing issues and this hasn't been reported yet
  • This is a single bug report (please file separate reports for different bugs)
  • 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

  1. Create a fresh empty folder.
  2. Open it in Claude Desktop and start a new session.
  3. Have a brief text-only exchange (3+ user messages, no file edits).
  4. Press Esc Esc, pick any earlier message.
  5. 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions