claude-code - 💡(How to fix) Fix v2.1.128 update silently destroys conversation history for pre-JSONL sessions

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

Error Message

  1. At minimum, warn the user that old sessions cannot be migrated and offer options
RAW_BUFFERClick to expand / collapse

Bug Summary

The v2.1.128 update (Mac desktop app) permanently deleted conversation messages from all sessions created before the JSONL storage format was introduced (~April 7, 2026). This is a destructive, unrecoverable data loss affecting months of work.

What happened

  • Updated to Claude Code v2.1.128 on May 6, 2026
  • All 43 session metadata files in ~/Library/Application Support/Claude/claude-code-sessions/ were rewritten at 22:34
  • The messages field was set to null in every session JSON file
  • Only sessions that already had .jsonl files in ~/.claude/projects/ retained their conversation content (16 of 43)
  • 26 sessions spanning Feb 5 – Apr 4, 2026 lost ALL conversation history — many of which had ongoing activity through today

Impact

  • 26 sessions appear completely empty in the Mac app sidebar — titles and metadata are intact, but all messages are gone
  • These were active, long-running conversations with months of accumulated context, decisions, and conclusions
  • No warning was given before the migration
  • No backup was created of the old-format data before deletion
  • The conversations cannot be resumed — the context is permanently lost from the app

Evidence

  • All 43 session metadata files show "messages": null (Python: json.load(f).get('messages') returns None)
  • File modification timestamps cluster at 22:34 May 6 (update time)
  • 19 JSONL files exist in ~/.claude/projects/ — these sessions still work
  • 26 sessions have no JSONL and no messages — their data existed only in the old JSON format and was destroyed

Expected behavior

A storage format migration should:

  1. Never delete data without creating a backup first
  2. Migrate ALL sessions to the new format, not just ones that already have JSONL files
  3. At minimum, warn the user that old sessions cannot be migrated and offer options

Environment

  • macOS Sequoia (Darwin 25.3.0)
  • Claude desktop app v1.6259.1
  • Claude Code v2.1.128
  • FileVault enabled
  • APFS local snapshots exist but cannot be easily mounted programmatically due to FileVault

Recovery attempted

  • Local APFS snapshot from May 1 exists but FileVault prevents programmatic mounting
  • Time Machine external drive unavailable
  • Session export hook (Dropbox transcripts) captured some conversations in markdown format, but these cannot be re-imported into the app

User impact statement

This destroyed months of carefully built conversation context across 26 active sessions. Long-running conversations where decisions, architecture, conclusions, and ongoing work were tracked are now empty shells. This is an unacceptable level of negligence for a data migration — there is no excuse for deleting user data without a backup step. This needs to be treated as a P0 data loss incident.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

FAQ

Expected behavior

A storage format migration should:

  1. Never delete data without creating a backup first
  2. Migrate ALL sessions to the new format, not just ones that already have JSONL files
  3. At minimum, warn the user that old sessions cannot be migrated and offer options

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

claude-code - 💡(How to fix) Fix v2.1.128 update silently destroys conversation history for pre-JSONL sessions