[FEATURE] Bulk archive for Code sessions in the desktop app sidebar

Status Closed — duplicate
Maintainer reply None cached
Activity 2 comments · opened Aug 11, 2026 · closed Aug 20, 2026

Preflight Checklist

  • [x] I have searched existing requests and this feature hasn't been requested yet
  • [x] This is a single feature request (not multiple features)

Problem Statement

The Code tab sidebar in Claude Desktop groups sessions by project and accumulates them indefinitely. Archiving is a per-row hover action, so there is no way to archive more than one session at a time. Clearing a backlog means dozens or hundreds of individual clicks.

Across a handful of active repos my sidebar currently holds well over fifty sessions spanning several months. Most are one-off debugging runs I will never return to, but they sit above and between the sessions I actually resume, so finding anything means scrolling past noise. There is no date filter, no multi-select, and no "archive everything older than X" action.

The only bulk workaround is editing isArchived directly in the session metadata JSON under ~/Library/Application Support/Claude/claude-code-sessions/<accountId>/<orgId>/local_*.json, with the app quit and a backup taken. That works, but it depends on an undocumented internal format whose location has already changed once (#29373), so it silently breaks whenever the schema moves and is not something most users should be doing.

Proposed Solution

Add a bulk archive path to the Code sidebar. In rough order of usefulness:

  1. Multi-select - shift-click or checkbox selection across rows, with a single Archive action applied to the selection.
  2. Archive by age - a menu action such as "Archive sessions older than..." with 7 / 30 / 90 day options, scoped either to one project group or to all projects.
  3. Per-project group action - archive every session under one project heading at once.

Any one of these solves the problem; multi-select is the most general.

One dependency worth flagging: archiving is currently one-way in the UI, since there is no unarchive control (#30869, #62428). A bulk archive action multiplies the cost of a misclick, so it should either be undoable or ship alongside an unarchive path.

Alternative Solutions

  • Per-session archive as it exists today - works, but does not scale past a handful of sessions.
  • Editing the session metadata JSON directly - effective, but fragile, undocumented, and requires quitting the app and taking a backup first.
  • Relying on retention - cleanupPeriodDays prunes CLI transcripts under ~/.claude/projects/, but it does not clear entries from the desktop sidebar, so the two are not interchangeable.
  • Searching instead of cleaning - the picker search works, but it does not help when scanning the sidebar visually, which is the main way I navigate between active projects.

Related but distinct existing issues: #35036 (session list/archive/delete commands for the CLI - different surface), #29552 (delete alongside archive in the desktop app - different action), #30869 and #62428 (no unarchive path in the UI).

Priority

Medium - Would be very helpful

Feature Category

Other

Use Case Example

Concrete scenario from this week:

  1. I work across roughly eight repos in the Code tab - platform services, a designer app, a plugin marketplace, dotfiles, and a few others.
  2. Each of those accumulates sessions continuously, including auto-named ones like serbans-macbook-pro-local-zany-frost from short one-off runs.
  3. After a couple of months the sidebar holds 50+ entries, and the three or four sessions I actually want to resume are buried among debugging runs I finished long ago.
  4. To clean it up today I would hover and archive each row individually, roughly forty times, with no undo if I archive the wrong one.
  5. With multi-select or an archive-by-age action this becomes one interaction, and the sidebar goes back to showing only live work.

Additional Context

Scope note: this is specifically about the desktop app's Code sidebar, not the CLI /resume picker and not claude.ai/code. Those are separate stores with separate gaps, tracked in #35036 and elsewhere.

Environment: Claude Desktop on macOS, Code tab. App version: <fill in from Claude > About>

View original on GitHub ↗

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