[FEATURE] VS Code extension: Session list improvements (status indicators, worktree support, session controls)
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 official Claude Code VS Code extension includes a session list panel, but it currently lacks key information that would make it practical for managing multiple sessions. There are no indicators showing whether a session is active, idle, or waiting for permission — so when running several sessions, you have to click into each one to check its state. Additionally, the session list only shows sessions for the currently active directory, so there is no unified view of all project sessions across the main branch and worktrees. This makes the session list almost unusable for multi-session workflows.
Proposed Solution
Enhance the existing session list with the following:
- Show all project sessions in one place — the session list should display all sessions belonging to the current project: both from the main working directory and from all worktrees, not just the currently active one. This provides a single place to monitor everything running in the project.
- Grouping by branch/worktree — group sessions by their worktree (or the main branch) and allow creating a new session directly in a specific one from the list.
- Session status indicators — show whether a session is active (running), idle, or requires a permission approval. A notification badge or icon for sessions awaiting input would be especially valuable.
- Inline session controls — add the ability to stop/pause a session directly from the list (e.g., a pause icon on hover), without needing to open the session first.
- VS Code notifications for permission requests — when a session is waiting for permission approval, send a VS Code notification so the user doesn't have to watch the session list. This should be configurable (on/off) via a
claudeCode.*setting.
Alternative Solutions
_No response_
Priority
High - Significant impact on productivity
Feature Category
Developer tools/SDK
Use Case Example
When running 3–5 parallel sessions across the main branch and worktrees (e.g., a feature branch, a refactoring task, and a bug fix), I have no way to tell which session is waiting for permission approval without clicking into each one. Worse, sessions from other worktrees or the main branch don't even appear in the list — I have to switch between them just to check. This breaks the flow, especially when a session has been blocked for minutes and I didn't notice.
With a unified session list, worktree grouping, and status indicators, I could glance at the sidebar and immediately see that my "feature" session needs attention while the others are still running.
Additional Context
Tools like cmux, superset.sh, and air.dev already offer this kind of multi-session visibility and control. The Claude Code extension is not far off — the session list UI is already there, it just needs a few features to reach the same level of usability.
I built a proof-of-concept extension (screenshot below) that implements these features to validate the idea. It works, but it's rough around the edges. Since the official extension already has the session list UI, it seems like a natural place to add these improvements rather than relying on a third-party workaround.
This would also complement the CLI experience — while full session control in a single terminal window would be ideal, having it in the VS Code extension is a more realistic first step.
Screenshots
Proof-of-concept extension with status indicators and worktree grouping:
<img width="808" height="540" alt="Image" src="https://github.com/user-attachments/assets/f5f939c5-d725-4677-9fc7-1481993823a5" />
Current official extension session list (no status info):
<img width="788" height="726" alt="Image" src="https://github.com/user-attachments/assets/b25a4358-2181-4a8f-a821-1102eb2b8be2" />
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗