anthropics / anthropics/claude-code

Desktop app: folder picker "Recent" list capped at 8 (was 20+), and scheduled routines crowd out real projects

Open
#95,472 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

area:desktop area:routines bug has repro platform:windows regression
Dominant language
TypeScript
Stars
147k
Forks
24k
PR merge metrics
PR metrics pending

Description

Environment: Claude Desktop 2.2553.1 (Windows Store/MSIX build), Windows 10 Pro 19045. Regressed in a build between 1.46388.4 (2026-09-05) and 2.110.0 (2026-09-17); the long list was still present in early September.

What happens

The "Recent" group in the Code tab's folder picker (No folder / Recent / Open folder…) now shows at most 8 folders. It used to show 20+. Because the list is recomputed from session activity rather than kept, it churns constantly — I have to Open folder… and re-browse to my project directories most days.

Why (from reading the renderer bundle)

The list is derived on every render in the module that owns the ccd-dismissed-recent-folders-v1 store:

  • getAll() (all local session records) → group by originCwd → rank by newest lastActivityAt ?? createdAt.slice(0, 8) (var _=8). The SSH/WSL variant is .slice(0, 5).
  • Sessions spawned by scheduled routines (records carrying scheduledTaskId) are not excluded. With six daily routines each running in its own folder, they occupy 6 of the 8 slots every morning, so anything I worked on yesterday is evicted unless it was one of the two most recent folders. Reproduced from my own session records for three consecutive days.
  • The hover-X "Remove from recent" doesn't help: a dismissed folder is re-shown as soon as a newer session exists there, and the dismissal record is then deleted. A routine un-dismisses its folder on its next run.
  • Path spelling is not normalized — C:\ and C: are counted as two folders and take two slots.

Expected

  • A materially larger cap (the previous 20+), or a user-visible way to pin folders in this picker.
  • Routine-spawned sessions (scheduledTaskId set) excluded from the frecency ranking, or at least weighted below interactive sessions.
  • Dismissal should survive routine runs — either persist it until the user starts an interactive session there, or exclude routine sessions from the "newer session" test.
  • Normalize path spelling before grouping.

Repro

  1. Have several scheduled routines (Routines sidebar) that run in different folders.
  2. Work in 3–4 projects during the day.
  3. Next morning, open the folder picker: routine folders fill most of the 8 slots; yesterday's projects are gone.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in the renderer-bundle module that owns the ccd-dismissed-recent-folders-v1 store and trace the getAll() grouping, ranking, and .slice(0, 8) logic. Reproduce with scheduled routines and interactive project sessions, then verify that recent folders retain the intended projects, routine sessions and dismissed folders are handled correctly, and equivalent path spellings do not consume separate slots.

Written by the indexing model from the issue text.

Assessment

Domain
desktop
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.