VS Code extension: no way to open a session by session ID (CLI has --resume <session-id>; extension has no equivalent)
The gap: CLI/extension parity
The CLI can open a specific past conversation directly by its session ID. The VS Code extension has no equivalent — the only way to get back to a past session is to recognize it by its auto-generated title in the picker.
From claude --help:
-r, --resume [value] Resume a conversation by session ID, or open interactive
picker with optional search term
--session-id <uuid> Use a specific session ID for the conversation
--fork-session When resuming, create a new session ID instead of reusing
--from-pr [value] Resume a session linked to a PR by PR number/URL, or open
interactive picker with optional search term
So on the command line I can resume by ID, search the picker by term, and even resume by PR. In the extension, none of that exists.
I checked the installed extension (v2.1.267) rather than assuming I'd missed a menu — all 26 contributed commands and all 16 settings. There is no resume-by-ID, no session search, and no way to see or copy a session ID. The only session-finding affordances are Claude Code: Reopen Closed Session (most-recently-closed only) and the picker's title list.
The core request is simply parity: give the extension some way to open a session by session ID, the way the CLI already does. I'm not attached to any particular implementation — a command-palette prompt, an ID field in the picker, accepting a pasted UUID in the picker's existing search box, or anything else. The suggestion below is only one possible shape, offered for concreteness, not as the ask itself.
Why the title is a poor substitute
Titles are auto-generated and continuously regenerated as a conversation drifts, so the only searchable handle is also the least stable one. From my own transcripts (~/.claude/projects/<project>/<sessionId>.jsonl, entries of "type": "ai-title"):
- One session accumulated 136
ai-titleentries. It opened as "Redshift MCP query failures on dw prod cluster" and now reads "Redshift query intermittent failures investigation". - Another began as "Set up Redshift MCP" and is currently titled "Review Google Ads offline conversions module" — the conversation moved on and the title followed it.
If I remember a session by what it accomplished early on, the title may no longer mention that at all. Long working sessions are the worst case, which is exactly where finding the right one matters most. Session IDs, by contrast, never change — and they're already the transcript filename.
Why I have a session ID in hand but nowhere to put it
- The transcript filename under
~/.claude/projects/… CLAUDE_CODE_SESSION_IDin the environment- Notes, tickets, and internal docs recording "this was worked in session
<id>" - Subagent/tool-result folders named after the parent session
- A teammate or bug report referencing a specific session
In all of those cases the ID is the thing I have, and the extension gives me no way to use it.
One suggested shape (illustrative only)
If it helps to have something concrete: let the session picker's search box accept a full or partial session UUID and match on it, so pasting an ID jumps to that session. A Claude Code: Resume Session by ID palette command would work equally well. Whatever's cheapest to build is fine — the capability matters, not the mechanism.
Related existing issues
- #93459 — VS Code extension: show and copy session id in chat panel. Complementary and, I'd argue, a prerequisite: right now there's no way to obtain the ID from the UI in the first place. Happy for this to be folded into that one if maintainers prefer.
- #93443 — Opt-in cross-project context access for conversation search. Covers searching conversation content, which is the other half of this problem (finding a session when you only remember what you discussed, not its ID or title). Also worth noting the CLI's
--resumealready accepts a search term, so the extension trails there too.
Environment
- Claude Code VS Code extension v2.1.267, Windows 11
- Sessions stored at
C:\Users\<user>\.claude\projects\<project-dir>\<sessionId>.jsonl
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗