Feature request: keyboard shortcut to switch between chats/sessions in the sidebar panel

Status Open
Reported on v2.1.183
Maintainer reply None cached
Activity 3 comments · opened Jun 20, 2026

Summary

The VS Code extension currently offers no way to switch between chat sessions in the sidebar panel using the keyboard. Please add bindable commands (e.g. "next session" / "previous session") so users can cycle through sidebar chats with a shortcut.

Current behavior

In the sidebar panel, multiple sessions can only be switched by clicking the history (clock) icon and picking from the "Search sessions…" dropdown with the mouse. After inspecting the extension (anthropic.claude-code 2.1.183), I confirmed:

  • The extension contributes no next/previous session/conversation command (the only session-related command is claude-vscode.reopenClosedSession).
  • The session list (claudeVSCodeSessionsList) is a webview, so keybindings.json commands like workbench.action.nextEditor cannot reach it.
  • There is no setting to enable such a shortcut.

As a result, keyboard-driven session switching is impossible in sidebar mode. The only keyboard-capable workaround is opening each chat as a separate editor tab (Open in New Tab, cmd+shift+escape), which defeats the purpose of the compact sidebar panel.

Requested behavior

Add commands such as claude-vscode.nextSession / claude-vscode.previousSession (bindable via keybindings.json), allowing users to map e.g. alt+cmd+[ / alt+cmd+] to cycle sessions while the Claude sidebar panel is focused.

Environment

  • Extension: anthropic.claude-code 2.1.183 (darwin-arm64)
  • OS: macOS (darwin)

View original on GitHub ↗

3 Comments

rootminus0x1 · 2 months ago

Confirming this on Linux with extension 2.1.218 (original report: macOS 2.1.183) — still no next/previous session command contributed.

Adding a data point on why the natural keybindings.json workaround can't work, in case it helps scope the fix. Binding ctrl+tab to workbench.action.nextEditorInGroup with when: activeWebviewPanelId == 'claudeVSCodePanel' silently does nothing for a side-bar conversation. The keybinding troubleshooting log shows why:

Resolving ctrl+[Tab]
From 3 keybinding entries, matched workbench.action.quickOpenPreviousRecentlyUsedEditorInGroup,
when: !activeEditorGroupEmpty, source: built-in.

The user binding is present but its when is false — activeWebviewPanelId is only set for editor-area webviews — so the keystroke falls through to the built-in and switches editor tabs, which is actively confusing.

Worth noting the plumbing for a fix already exists: Ctrl+N (claude-vscode.newConversation) does fire from a focused side-bar conversation, via the second branch of its own when:

claude-vscode.sideBarActive && !editorFocus && !panelFocus

So claude-vscode.nextSession / previousSession gated on that same context key should be keyboard-reachable in the side bar using infrastructure that already ships.

bataliero · 1 month ago

+1. It would make a huge difference to my daily workflow. This is the most missing keyboard shortcut in the VS Code extension for me!

joedickeyredis · 7 days ago

+1. Still missing in 2.1.292 (running in Cursor). Cursor's own agent chats switch with a keyboard shortcut, and I want the same for Claude sessions in the secondary sidebar.

Workaround I tried: open sessions as editor tabs and bind workbench.action.nextEditorInGroup with when: activeWebviewPanelId == 'claudeVSCodePanel'. That works, but it moves sessions out of the sidebar. Opening a session from the sessions list also always opens an editor tab, never the sidebar.

Requested: claude-vscode.nextSession / claude-vscode.previousSession commands that switch the conversation shown in the sidebar view, so they can be bound in keybindings.json.