anthropics / anthropics/claude-code
Archive/delete of Claude Code sessions is per-client — desktop's archive flag is invisible to the VS Code extension
- 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