Bridge session disappears from desktop session picker after archive→unarchive cycle

Resolved 💬 2 comments Opened Jun 1, 2026 by hadraxis Closed Jun 4, 2026

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

  1. Start a session via /remote-control (bridge mode) on machine A.
  2. Continue the session on phone/web through claude.ai/code/session_<id>.
  3. On machine A, open Claude Code desktop app. Session appears in picker

under "Archived" (unexpected — it had recent activity).

  1. Click "Unarchive."
  2. 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 archived or hidden event in the .jsonl itself — 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_

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗