[FEATURE] Desktop: unread dot from routine runs is hard to find and can't be cleared in bulk — add "Mark all as read"
Status Open
Reported on v2.1.191
Maintainer reply None cached
Activity 0 comments · opened Oct 2, 2026
Environment
- Claude desktop app (macOS) 2.19675.0, Claude Code 2.1.191
- macOS 27.0.1
What happened
A blue unread dot stayed on the Code tab and I could not find where it came from. I opened every session in the sidebar, and it was still there. Even asking Claude in a session did not find it:
ccd_sidebar__set_unread(false)on the 31 most recent sessions returned "The session was already read" for every normal session.- For the four runs of my daily routine it failed with: "is a routine run. Routine runs show under their routine, not as their own sidebar rows, so they can't be grouped, pinned or marked."
list_sessionsdoes not report read/unread state, so the agent cannot find the unread item either.
The source was the runs of a daily scheduled routine. They are listed under the Routines section, which was collapsed. Expanding Routines and clicking the routine row did not clear the dot. I had to open each individual run before it went away.
Why this is confusing
- The dot does not point to its source. A collapsed section hides it, and opening every visible session does not help.
- The unread state of a routine run cannot be cleared from the routine row. You have to open each run, and a daily routine creates a new one every morning.
- There is no "mark all as read" anywhere, and the agent tools cannot clear the dot (
set_unreadrefuses routine runs).
Related: #79126 (closed as completed, but there is still no mark-all-read and the problem above still happens), #51831, #92430.
Requests
- Add "Mark all as read" to the sidebar, at least per section (Routines, groups) and globally.
- When a collapsed section contains unread items, show the dot or a count on the section header, so it is clear where to look.
- Clicking a routine row should clear its runs' unread state, or the routine should offer "mark runs as read".
- Let
ccd_sidebar__set_unreadaccept routine runs (or the routine id), and havelist_sessionsinclude anunreadfield, so an agent can find and clear the dot. - Optional: a setting to stop routine runs from raising the unread dot. A routine that runs fine every day does not need review each morning.