anthropics / anthropics/claude-code

Archive/delete of Claude Code sessions is per-client — desktop's archive flag is invisible to the VS Code extension

Open
#88,476 0 comments 2 reactions 0 assignees View on GitHub
area:cli area:desktop area:vscode enhancement platform:windows
Dominant language
Python
Stars
145k
Forks
23.1k
PR merge metrics
PR metrics pending

Description

Using the Claude Desktop **Code** tab and the Claude Code **VS Code extension** against the same project is a constant cleanup tax: I archive a conversation in the desktop app, it still shows up in the extension; clicking it there silently **un-archives** it back in the desktop app; deleting it in the extension leaves it sitting in the desktop list. Every tidy-up has to be done twice, and the two clients actively undo each other.

The cause looks structural: both clients read the same `~/.claude/projects//*.jsonl` files, but the archived state is stored **only** in the desktop app's Electron localStorage (`%APPDATA%\Claude\Local Storage\leveldb` contains `"archived":false` records). Nothing in the shared `~/.claude/` tree records it, so the extension has no way to read or write that flag.

The CLI is a third case with no cleanup at all: `/resume` enumerates every `.jsonl` regardless, and the only removal tool is `claude project purge`, which wipes an entire project's transcripts, tasks, and file history.

Request: move archive/delete state into shared state under `~/.claude/` (a per-project sidecar, or a field in the session index) that every client reads and writes — then the extension can hide archived sessions and offer *Archive* alongside *Delete*, and `/resume` can honor it too.

Env: Windows 11, Claude Code 2.1.237 (desktop Code tab) / 2.1.234 (CLI), VS Code extension.

Refs #62980, #65674, #66229, #49775 (all closed and locked; filing new per the bot's instruction).

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by tracing how the clients read ~/.claude/projects//*.jsonl, how the desktop app persists archived records in Electron localStorage, and how /resume enumerates sessions. Done means archive/delete state is shared under ~/.claude/, the VS Code extension and desktop stay consistent, and /resume honors archived sessions without broad project purge.

Written by the indexing model from the issue text.

Assessment

Tech stack
electron, python, vscode
Domain
cli, desktop, developer-experience
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.