Skip to content

[BUG] Claude Code v2.x Cannot Resume Sessions Created/Used in v1.x - Version Incompatibility #13229

Closed as not planned

Description

@MoorAE

Preflight Checklist

  • I have searched existing issues and this hasn't been reported yet
  • This is a single bug report
  • I am using the latest version of Claude Code

What's Wrong?

Claude Code version 2.0.60 cannot read/resume sessions that contain entries from earlier versions. The session files exist and contain valid JSONL data, but /resume [session-id] returns "Session not found" - which is factually incorrect and misleading.

Root Cause Discovered

Sessions that were used across multiple Claude Code versions become mixed-version files:

Lines 1-N:       Version 1.0.119 (Original session start)
Lines N+1:       Version 2.0.5   (After upgrade)
End of file:     Version 2.0.59  (Last working version)

The session worked fine through all these versions until 2.0.60 - which now rejects these mixed-version files entirely, even though Claude Code itself created most of the content.

What Should Happen?

  1. Accurate Error Message: "Session contains entries from incompatible versions" - NOT "Session not found"
  2. Session Migration: Existing sessions should be migrated during version upgrades
  3. Backwards Compatibility: Point releases should not orphan user sessions without warning

Error Messages/Logs

> /resume [session-id]
Session [session-id] was not found.

Meanwhile, the file exists and contains valid data:

$ ls -la ~/.claude/projects/[project]/[session-id].jsonl
-rw-r--r-- 1 user group 541450703 Dec  5 14:10 [session-id].jsonl

$ wc -l ~/.claude/projects/[project]/[session-id].jsonl
46031 lines

Steps to Reproduce

  1. Have an existing Claude Code session used across multiple versions (1.0.x → 2.0.x)
  2. Session works fine through 2.0.59
  3. Update to Claude Code 2.0.60
  4. Attempt /resume [session-id]
  5. Receive "Session not found" despite file existing with valid content

Migration Attempts (All Failed)

Multiple recovery approaches were attempted:

  1. Copy to new session ID → "Session not found"
  2. Patch version strings (1,206 replacements) → "Session not found"
  3. Patch session IDs (45,042 replacements) → "Session not found"
  4. Prepend v2 summary header → "Session not found"

Conclusion: Claude Code 2.0.60 uses an undocumented validation mechanism beyond file existence and format. There is no user-accessible migration path.

Claude Model

Claude Opus 4.5 (claude-opus-4-5-20251101)

Is this a regression?

Yes - Sessions worked fine through version 2.0.59. I was working on an MCP server fix and had to restart Claude Code. An update to 2.0.60 occurred during that restart - and that's when the session broke. The session was actively being used and functional immediately before the restart.

Downgrade Attempts Blocked

I attempted to downgrade the VS Code extension 3 times to recover session compatibility. Each time, when Claude Code loaded, it auto-forced the latest version - even though I have auto-update disabled in VS Code settings.

This means:

  • Users cannot roll back to recover their sessions
  • The "auto-update off" setting is being ignored
  • Once the breaking update hits, there's no escape

Last Working Version

2.0.59 - Session with mixed version entries (1.0.119 through 2.0.59) worked fine until 2.0.60 update

Claude Code Version

2.0.60 (Claude Code) - This is the version that broke session compatibility

Platform

Direct API

Operating System

Windows (CYGWIN_NT-10.0-22631)

Terminal/Shell

Cygwin / Git Bash

Additional Information

Critical Issue: 2.0.60 Introduced Breaking Change

The session file contains entries spanning versions 1.0.119 → 2.0.5 → 2.0.59, and worked fine through all of them. Version 2.0.60 specifically introduced stricter validation that rejects these previously-valid session files.

User Impact

  • Months of accumulated context lost (session started September 2025, broke December 2025)
  • No warning before upgrade
  • No migration tool provided
  • No documentation of this breaking change
  • Error message actively misleads users about the problem
  • Cannot downgrade to recover - Claude forces latest version even with auto-update off

Requested Fixes

Immediate:

  1. Fix error message to explain version incompatibility
  2. Provide session migration tool
  3. Respect user's auto-update settings - allow downgrade
  4. Revert the breaking validation change in 2.0.60 or provide migration

Long-term:

  1. Auto-migrate sessions on version upgrade
  2. Maintain backwards compatibility for session files
  3. Warn users before breaking changes

Pattern of Session Issues

This is part of an ongoing pattern of session reliability issues in Claude Code that need addressing for users with long-term, complex projects.

Activity

  1. github-actions commented on Dec 6, 2025

    @github-actions

    Found 3 possible duplicate issues:

    1. [Critical Bug] Session history lost after auto-update from 2.0.44 to 2.0.49 #12114
    2. Critical: Conversation compaction fails for conversations started under previous Claude Code versions #12946
    3. [BUG] Resume session after killing - "No conversation found with session ID" #12730

    This issue will be automatically closed as a duplicate in 3 days.

    • If your issue is a duplicate, please close it and 👍 the existing issue instead
    • To prevent auto-closure, add a comment or 👎 this comment

    🤖 Generated with Claude Code

  2. MoorAE commented on Dec 6, 2025

    @MoorAE
    Author

    This is NOT a duplicate - distinct root cause and version

    Differences from flagged issues:

    #12114 (2.0.44→2.0.49): About history.jsonl missing sessionId fields

    • My issue: Session file EXISTS with valid content, has all required fields

    #12946 (compaction): About thinking block validation during /compact

    • My issue: Not compaction related - /resume fails on valid session file

    #12730 (SIGTERM): About process termination not saving sessions

    • My issue: Session was properly saved and worked through 2.0.59

    What makes this issue distinct:

    1. Specific breaking version identified: 2.0.60 (not 2.0.49 or earlier)
    2. Session worked through all prior versions including mixed 1.0.119 → 2.0.5 → 2.0.59 entries
    3. File validation issue, not missing data: The session file is complete and valid
    4. Documents forced auto-update: VS Code extension ignores auto-update=off setting, preventing rollback
    5. Provides detailed migration attempts: Multiple technical approaches tried, all failed

    This issue provides additional evidence of a pattern of session compatibility breaks across versions, and specifically identifies 2.0.60 as introducing new stricter validation that rejects previously-valid session files.

    The forced auto-update issue (ignoring user settings) is also a new concern not covered in other issues.

  3. MoorAE commented on Dec 7, 2025

    @MoorAE
    Author

    Update: Additional Context Loss Failures (December 6, 2025)

    v2.0.61 Status

    Updated to v2.0.61 - session compatibility issues from v2.0.60 remain unfixed.


    New Issue: Session Summary Context Loss

    When a session runs out of context and creates a continuation summary, critical user-provided data is not captured.

    What happened:

    1. Previous session: User provided specific data structures for testing
    2. Session exhausted context window
    3. Summary was generated for continuation
    4. User-provided data was completely lost - only task names and results were captured
    5. When asked "which array did I give you?", Claude responded: "I don't know. That context was lost."

    Impact: User must re-provide all inputs. Work is duplicated. Trust is damaged.


    Dangerous Consequence: Near System Breakage

    Without the architectural context from the previous session, Claude attempted to "fix" an import error by adding fallback values - which would have broken the user's unified registry system.

    The user had to intervene: "Without that context you were about to break a system."

    This demonstrates that context loss is not just inconvenient - it's dangerous. Claude will make changes that violate architectural design when it doesn't understand the system it's modifying.


    Root Causes Identified

    1. Session summaries don't capture user-provided data - only task descriptions and results
    2. Excessive BashOutput polling wastes context on repeated status checks (user explicitly said "stop" multiple times, ignored)
    3. No automatic persistence of user inputs to files that survive context loss
    4. Architecture knowledge is not preserved across session continuations

    Recommendations

    1. Session summaries MUST include:

      • All user-provided data, code, arrays, file paths
      • System architecture notes
      • Import relationships and design patterns
    2. When user provides data, auto-save to scratch file and reference in summary

    3. Implement polling controls that respect user commands like "let it finish"

    4. Prioritize user-provided data over system messages and repeated tool outputs in context retention


    The product is currently unreliable for professional long-term use. Users cannot trust that their inputs will be retained or that Claude won't break their systems due to lost architectural context.

  4. github-actions commented on Jan 7, 2026

    @github-actions

    This issue has been inactive for 30 days. If the issue is still occurring, please comment to let us know. Otherwise, this issue will be automatically closed in 30 days for housekeeping purposes.

  5. MoorAE commented on Jan 18, 2026

    @MoorAE
    Author

    This is still an issue cross session management over a large codebase maybe but even document tracking as in document used in last session not fully reference when continuing a previous sessions work, the excessive bash polling is somewhat better but not the rest.

  6. github-actions commented on Feb 28, 2026

    @github-actions

    Closing for now — inactive for too long. Please open a new issue if this is still relevant.

  7. github-actions commented on Mar 9, 2026

    @github-actions

    This issue has been automatically locked since it was closed and has not had any activity for 7 days. If you're experiencing a similar issue, please file a new issue and reference this one if it's relevant.

  8. locked as resolved and limited conversation to collaborators on Mar 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:corebugSomething isn't workinghas reproHas detailed reproduction stepsplatform:windowsIssue specifically occurs on WindowsstaleIssue is inactive

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions