Bridge session disappears from desktop session picker after archive→unarchive cycle
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?
## Summary
A /remote-control bridge session that was archived and then unarchived in
the Claude Code desktop app vanishes from the session picker entirely. The
session is still fully resumable via CLI (claude --resume <id>) and the
local .jsonl transcript is intact — only the desktop UI cannot see it.
## Environment
- Claude Code version: 2.1.149
- OS: Windows 11 Pro 26200.8524
- App: Claude Code desktop (Windows)
- Session type: bridge (
bridgeSessionId: cse_01PWr3AKNpUprdyVidr7acb6) - Local session id:
734ade69-913a-485f-a714-29eddb37526e
## Steps to reproduce
- Start a session via
/remote-control(bridge mode) on machine A. - Continue the session on phone/web through
claude.ai/code/session_<id>. - On machine A, open Claude Code desktop app. Session appears in picker
under "Archived" (unexpected — it had recent activity).
- Click "Unarchive."
- Session disappears from the picker. It is not under Active, not under
Archived, not searchable by title.
## Expected
Unarchive should make the session visible in the Active list.
## Actual
Session is hidden from all picker views. Only recoverable via
claude --resume <local-session-id> from a terminal, which reads the
local .jsonl directly and bypasses the server-side index entirely.
## Local state (intact)
- Transcript file present at
~/.claude/projects/<project>/734ade69-913a-485f-a714-29eddb37526e.jsonl
- File contains
ai-title,last-prompt, full assistant/user turns. - No
archivedorhiddenevent in the.jsonlitself — state appears to
be server-side only.
## Suspected cause
Bridge-session records and archive-state records are stored server-side
and queried by the desktop picker. The archive→unarchive transition for
bridge sessions appears non-idempotent and leaves the session in a
"neither" bucket.
## Workaround
claude --resume <local-session-id> from a terminal. Loses bridge/phone
mirror but preserves full conversation.
## Severity
Low impact (workaround exists) but high confusion (looks like data loss).
What Should Happen?
Unarchive should make the session visible in the Active list.
Error Messages/Logs
Steps to Reproduce
just read the above
Claude Model
Opus
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
v2.1.149
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
PowerShell
Additional Information
_No response_
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗