claude-code - 💡(How to fix) Fix [BUG] Desktop App 2.1.144+: startup scanner deletes cliSessionId from claude-code-sessions local files on every launch — session not found on disk

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

Error Messages/Logs

Root Cause

Root cause (confirmed): The startup scanner deletes the cliSessionId field from each claude-code-sessions/.../local_<uuid>.json and inserts transcriptUnavailable: true. No other persisted store holds the sidebar→jsonl link, so the App has nowhere to recover it from. We grep'd Local Storage and IndexedDB LevelDB stores for jsonl UUIDs and found none.

Fix Action

Fix / Workaround

User-side workaround: Manually re-set cliSessionId and DELETE the transcriptUnavailable key in the local file, then launch App and click the tile once. Conversation loads; entry usually persists across launches but the scanner's trust heuristic is not fully deterministic — entries can be re-nullified on a later launch with no user intervention, requiring the workaround to be re-applied. Auto-recovery script: https://github.com/John-D-B/Claudes/blob/main/2026-05-27.Claude-Amnesia/Bin/fix-amnesia.py

Code Example

{
  "sessionId": "local_a1b2c3d4-...",
  "title": "EJBCA-ce TwoSter",
  "cwd": "/Users/jdb/work.Claude/2026-05-19.EJBCA-ce",
  "createdAt": 1748939630700,
  "transcriptUnavailable": true
}
RAW_BUFFERClick to expand / collapse

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?

Title: Desktop App 2.1.144+ — session persistence broken across all restarts; sidebar tiles show "Session not found on disk"

Versions affected: Desktop App 2.1.144 (macOS); first noticed after the late-May 2026 update.

Symptom: Every previously-working sidebar session tile, AND every session created during the current launch, shows "Session not found on disk" when clicked after the App is quit and relaunched. Underlying conversation jsonl files in ~/Library/Application Support/Claude/projects/ are intact (claude --resume <uuid> works via CLI).

Root cause (confirmed): The startup scanner deletes the cliSessionId field from each claude-code-sessions/.../local_<uuid>.json and inserts transcriptUnavailable: true. No other persisted store holds the sidebar→jsonl link, so the App has nowhere to recover it from. We grep'd Local Storage and IndexedDB LevelDB stores for jsonl UUIDs and found none.

Reproduction (100%):

Create a new session in Desktop App (any project). Have a couple of conversation turns. Quit the App. Relaunch. Click the just-created sidebar tile → "Session not found on disk."

User-side workaround: Manually re-set cliSessionId and DELETE the transcriptUnavailable key in the local file, then launch App and click the tile once. Conversation loads; entry usually persists across launches but the scanner's trust heuristic is not fully deterministic — entries can be re-nullified on a later launch with no user intervention, requiring the workaround to be re-applied. Auto-recovery script: https://github.com/John-D-B/Claudes/blob/main/2026-05-27.Claude-Amnesia/Bin/fix-amnesia.py

Impact: Multi-session workflows in Desktop App are broken — every restart can wipe session continuity for an unpredictable subset of tiles. The only fully-intact path is CLI resume.

What Should Happen?

Sessions should persist across App quit/relaunch. Conversation jsonl files are intact on disk; the App should resume them.

Error Messages/Logs

{
  "sessionId": "local_a1b2c3d4-...",
  "title": "EJBCA-ce TwoSter",
  "cwd": "/Users/jdb/work.Claude/2026-05-19.EJBCA-ce",
  "createdAt": 1748939630700,
  "transcriptUnavailable": true
}

Steps to Reproduce

Reproduction (100%):

Create a new session in Desktop App (any project). Have a couple of conversation turns. Quit the App. Relaunch. Click the just-created sidebar tile → "Session not found on disk."

Claude Model

Opus

Is this a regression?

Yes, this worked in a previous version

Last Working Version

Prior to 2.1.144

Claude Code Version

2.1.145 (Claude Code)

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

Terminal.app (macOS)

Additional Information

Related: #53717 (data-loss variant), #61608.

Full diagnosis, root cause, and auto-recovery script: https://github.com/John-D-B/Claudes/tree/main/2026-05-27.Claude-Amnesia

<img width="1603" height="1335" alt="Image" src="https://github.com/user-attachments/assets/440a2433-b5e0-4351-af48-69374cd77d69" />

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…

Still need to ship something?

×6

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

Back to top recommendations

TRENDING