Repository navigation
Description
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?
- Accurate Error Message: "Session contains entries from incompatible versions" - NOT "Session not found"
- Session Migration: Existing sessions should be migrated during version upgrades
- 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 linesSteps to Reproduce
- Have an existing Claude Code session used across multiple versions (1.0.x → 2.0.x)
- Session works fine through 2.0.59
- Update to Claude Code 2.0.60
- Attempt
/resume [session-id] - Receive "Session not found" despite file existing with valid content
Migration Attempts (All Failed)
Multiple recovery approaches were attempted:
- Copy to new session ID → "Session not found"
- Patch version strings (1,206 replacements) → "Session not found"
- Patch session IDs (45,042 replacements) → "Session not found"
- 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:
- Fix error message to explain version incompatibility
- Provide session migration tool
- Respect user's auto-update settings - allow downgrade
- Revert the breaking validation change in 2.0.60 or provide migration
Long-term:
- Auto-migrate sessions on version upgrade
- Maintain backwards compatibility for session files
- 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
github-actions commentedon Dec 6, 2025
Found 3 possible duplicate issues:
This issue will be automatically closed as a duplicate in 3 days.
🤖 Generated with Claude Code
MoorAE commentedon Dec 6, 2025
This is NOT a duplicate - distinct root cause and version
Differences from flagged issues:
#12114 (2.0.44→2.0.49): About
history.jsonlmissingsessionIdfields#12946 (compaction): About thinking block validation during
/compact/resumefails on valid session file#12730 (SIGTERM): About process termination not saving sessions
What makes this issue distinct:
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.
MoorAE commentedon Dec 7, 2025
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:
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
Recommendations
Session summaries MUST include:
When user provides data, auto-save to scratch file and reference in summary
Implement polling controls that respect user commands like "let it finish"
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.
github-actions commentedon Jan 7, 2026
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.
MoorAE commentedon Jan 18, 2026
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.
github-actions commentedon Feb 28, 2026
Closing for now — inactive for too long. Please open a new issue if this is still relevant.
github-actions commentedon Mar 9, 2026
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.