[BUG] Windows: session index loses cliSessionId ("transcriptUnavailable": true) after failed auto-update — "Session not found on disk" for all sessions in a project, but content still accessible via remote-control on mobile
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
Environment
- Claude Code version: 2.1.204
- OS: Windows 11 Pro 10.0.26200
- Install method: npm global (
@anthropic-ai/claude-code)
Summary
After a failed auto-update, every session under one project directory started
showing "Session not found on disk" in the desktop session picker. The
underlying conversation content is NOT gone — it's still reachable from a
phone via the remote-control feature — but the desktop app's local session
index has lost the link to the transcript.
Suspected trigger
Shortly before the symptom appeared, ~/.claude/.last-update-result.json
recorded:
{"outcome":"failed","status":"install_failed","version_from":"2.1.202","version_to":"2.1.203","error_code":"update_apply_restore_failed"}
i.e. an auto-update failed to apply and failed to roll back. This was
preceded by manual use of /remote-control, claude auth logout/login,
and a manual npm install -g @anthropic-ai/claude-code@latest reinstall.
What's actually broken
The desktop app keeps a session index separate from the CLI's own
~/.claude/projects/<hash>/<session-id>.jsonl transcripts, at:
%APPDATA%\Claude\claude-code-sessions\<id>\<id>\local_<session-id>.json
For every affected session, this file is present but has:
{
"sessionId": "local_0475c2e2-2402-4ece-8451-d8251379eb34",
"cwd": "C:\\Users\\<redacted>\\<redacted-project-path>",
"title": "Memories redesign",
"transcriptUnavailable": true,
...
}
Note there is no cliSessionId field — the field present on healthy
entries that links the sidebar tile to the actual .jsonl transcript. This
matches the root cause described in [#63082](https://github.com/anthropics/claude-code/issues/63082).
Unlike [#63082](https://github.com/anthropics/claude-code/issues/63082), though, the affected entries here also carry a
bridgeSessionIds field (a remote-control/cloud sync session reference),
and the conversation content is still fully viewable from a connected phone
via remote-control. This suggests the transcript survives server-side even
when the local desktop index's cliSessionId link is dropped — a resync
path from the cloud/bridge session back to the local index may be possible
but isn't exposed anywhere in the client.
Impact
15 sessions' worth of local project history (a week of work) unreadable from
the desktop app, despite being verified as recoverable via remote-control on
a second device.
Request
A way to force the desktop app to resync/relink local_*.json entries
against an active bridgeSessionIds cloud session when cliSessionId is
missing.
Related: [#63082](https://github.com/anthropics/claude-code/issues/63082), [#58608](https://github.com/anthropics/claude-code/issues/58608)
Happy to provide more local_*.json samples or logs on request.
### What Should Happen?
The local sessions should display the content.
### Error Messages/Logs
```shell
Session not found on disk
Steps to Reproduce
Steps to reproduce
Not fully deterministic yet — this followed the auto-update failure above,
possibly combined with active remote-control usage. Will update if a
reliable repro is found.
Claude Model
Not sure / Multiple models
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
2.1.204
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
PowerShell
Additional Information
_No response_
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗