[BUG] Session read/unread state is per-device: reading a session on mobile does not clear it on desktop (or vice versa)

Status Open
Maintainer reply None cached
Activity 1 comment · opened Jul 27, 2026

Environment

  • Claude Code desktop app (Windows 10 19045), v2.1.204
  • Claude mobile app, same account (Max)
  • Remote Control / session sync otherwise working correctly

What happens

Read/unread state on Code sessions is tracked per-device rather than per-account. Opening
and reading a session in the mobile app leaves that same session still showing as unread in
the desktop app, and reading it on desktop does not clear it on mobile. Nothing propagates
in either direction.

Archived state, by contrast, does sync — an archived session is archived on every surface.
So some session state is already account-level; read state appears not to be.

Expected

Read/unread is account-level state, consistent with archive state. Reading a session on any
surface clears its unread marker on all of them.

Impact

This matters most for the heavy scheduled-task workflow the desktop app enables. A fleet of
~14 recurring sessions fires overnight (roughly 03:00-04:30), plus ad-hoc one-off sessions
during the day. The unread marker is the only signal for *"which of last night's runs have I
actually reviewed?"*

Because it doesn't sync, triaging the overnight batch on a phone clears nothing on the PC —
the same sessions all still read as unreviewed when returning to the desktop, and there is no
way to tell which were genuinely missed from which were already handled elsewhere. The
reverse is equally true. The marker is therefore unusable as a work-tracking signal for
anyone who moves between the two surfaces, which is precisely the workflow Remote Control
exists to serve.

Related

Same cross-surface session-state consistency family, different field:

  • #78679 — desktop/web session pins never surface on mobile
  • #75343 — session names differ between mobile/web and desktop

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗