| Install the extensionbeginner | Adds a graphical Claude Code panel to VS Code (needs VS Code 1.94.0 or later and a paid Claude plan or Console account) | Cmd/Ctrl+Shift+X, search "Claude Code", Install; or open vscode:extension/anthropic.claude-code. Extension version equals the Claude Code version it bundles | not stated | Docs ↗ |
| Install in Cursor and VS Code forksbeginner | Same extension in Cursor, Devin Desktop, Kiro | Cursor: cursor:extension/anthropic.claude-code. Forks: search the Extensions view or use the Open VSX registry | not stated | Docs ↗ |
| Editors that cannot install the extensionbeginner | Run the CLI in any editor's integrated terminal | Install the CLI, run claude in the terminal | not stated | Docs ↗ |
| Windsurf as an extension targetbeginner | Windsurf is not named on the VS Code page; the changelog says Windsurf was renamed Devin Desktop | See Devin Desktop row above | UNVERIFIED for the extension; rename is in the changelog only | Docs ↗ |
| Open the Claude panelbeginner | Spark icon in editor toolbar (file must be open), Activity Bar sessions list, Command Palette "Claude Code: Open in New Tab", status bar "Claude Code" | Click the Spark icon, or Cmd/Ctrl+Shift+P then type "Claude Code" | not stated | Docs ↗ |
| Sign in and onboarding checklistbeginner | Browser sign in, then a "Learn Claude Code" checklist | Click Sign in; reopen checklist by unchecking Hide Onboarding in Extensions > Claude Code | not stated | Docs ↗ |
| Walkthroughbeginner | Guided tour of the basics | Command Palette: "Claude Code: Open Walkthrough" | not stated | Docs ↗ |
| Automatic selection and open file contextbeginner | Claude sees your highlighted lines and the active file; footer shows the line count | Select text in the editor | not stated | Docs ↗ |
| Insert @-mention with line rangebeginner | Adds @file.ts#5-10 to the prompt | Option+K (Mac) / Alt+K (Win/Linux) with editor focused | not stated | Docs ↗ |
| Turn off selection or open file sharingintermediate | Stops selection or active file going into messages | Settings claudeCode.attachSelection (v2.1.300) and claudeCode.attachOpenFile (v2.1.271); also applies to claude in the integrated terminal | v2.1.300 and v2.1.271 | Docs ↗ |
| Selection withheld from excluded filesadvanced | Files matching files.exclude, search.exclude or git ignored send only a path; Read deny rules protect the terminal path | Setting respectGitIgnore (default true) | not stated | Docs ↗ |
| @-mention files and foldersbeginner | Fuzzy file or folder references | Type @auth, or @src/components/ with trailing slash | not stated | Docs ↗ |
| @-mention terminal outputintermediate | Gives Claude the output of a named terminal | @terminal:name | not stated | Docs ↗ |
| Read specific PDF pagesintermediate | Ask for page 1, pages 1-10 or page 3 onward | Needs poppler-utils on the machine running Claude Code | not stated | Docs ↗ |
| Attach images and filesbeginner | Paste images; Shift+drag files into the prompt box | Clipboard paste; hold Shift while dragging | not stated | Docs ↗ |
| Inline diff reviewbeginner | Side by side original vs proposed edit with accept, reject or "tell Claude what to do instead"; your edits in the diff are reported to Claude | Happens in Manual mode before each edit | not stated | Docs ↗ |
| Per change accept and rejectintermediate | Review one change at a time (not for diffs over 100 changes) | Buttons under each change; Command Palette "Claude Code: Accept Change at Cursor" / "Reject Change at Cursor" | v2.1.275 | Docs ↗ |
| Permission mode switcherbeginner | Auto, Manual, Plan, Edit automatically from the prompt box | Click the mode indicator; Auto is the built-in start mode from v2.1.283 | v2.1.283 (Auto default) | Docs ↗ |
| Plan mode with commentsintermediate | Opens the plan as a Markdown document where you add inline comments before Claude starts | Choose Plan, or type /plan, /plan fix the auth bug, /plan open | `/plan` v2.1.280 | Docs ↗ |
| Model and effort pickerbeginner | Switch model mid session; Effort row saves a default per model (except max) | Click the model name; /model alone opens the picker | name button and Effort row v2.1.257; `/model` picker v2.1.284 | Docs ↗ |
| Ultracode switchadvanced | Plans a dynamic workflow for each substantive task | Switch under the Effort row when workflows are enabled and the model supports it | v2.1.284 | Docs ↗ |
| Command menubeginner | Attach files, switch model, toggle extended thinking, Customize section (MCP, hooks, memory, instructions, permissions, plugins) | Click / or type / | not stated | Docs ↗ |
Slash commands dialog and /skillsintermediate | Filterable list of commands; skill rows show visibility (On, Name only) you can change | Customize > Slash commands; type /skills | dialog v2.1.257; `/skills` v2.1.280 | Docs ↗ |
| Output styles pickerintermediate | Pick a built in or custom output style; "Build a custom style" writes the file for you | Customize > Output styles | v2.1.257, builder v2.1.261 | Docs ↗ |
| Hooks and Permissions viewersintermediate | See hooks and permission rules by event or Allow/Ask/Deny; edit user, project and local entries | Customize > Hooks, Customize > Permissions | v2.1.269 | Docs ↗ |
| Memory and Instructions editorsintermediate | Turn auto memory on or off, browse, edit or delete saved memories; open CLAUDE.md files | Customize > Memory, Customize > Instructions | v2.1.274 (view/edit/delete memory v2.1.275) | Docs ↗ |
/status, /sandbox, /chrome, /export in the panelintermediate | Version/account/MCP status; sandbox mode toggle and excluded commands; Chrome connection; export conversation | Customize section or type the command | v2.1.280 | Docs ↗ |
| Enable Remote Control for all sessionsintermediate | Toggle that sets remoteControlAtStartup, applies to sessions already open | Command menu, Settings section | v2.1.203 (all windows v2.1.261) | Docs ↗ |
| Focus viewbeginner | Hides tool calls, results and thinking behind expandable rows | Ctrl+Option+F (Mac) / Ctrl+Alt+F; Command Palette "Claude Code: Toggle Focus view"; setting focusView | v2.1.221 | Docs ↗ |
| Sign outbeginner | Sign out of the Anthropic account | Settings section or /logout (not shown on third-party providers) | v2.1.277 | Docs ↗ |
| Report a problembeginner | Sends a bug report (or saves a local archive under ~/.claude/feedback-bundles/ on third party providers) | "Report a problem", /bug or /feedback | v2.1.229; local archive v2.1.284 | Docs ↗ |
Side questions with /btwintermediate | Ask about the session without adding to it; answer opens in a side panel; thread survives reloads | Type /btw your question | v2.1.227 | Docs ↗ |
| Copy response and Bookmarksbeginner | Copy a response; bookmark responses and review them | Hover buttons, /copy, /copy 2, /bookmarks | `/copy` v2.1.277; bookmarks v2.1.286 | Docs ↗ |
| Files Claude sends youintermediate | "Sent report.md" rows you can click to open (Remote Control sessions) | Click the file name | v2.1.295 | Docs ↗ |
| Context indicator and prompt cache clockintermediate | Shows context use and minutes left on the prompt cache; red when expired | Prompt box footer | not stated | Docs ↗ |
| Agent mapintermediate | Tree of subagents with status, time, tokens; open transcripts, stop agents; also lists background tasks | Click the "N agents" count, or type /tasks | map v2.1.269; `/tasks` v2.1.277 | Docs ↗ |
Extended thinking toggle and Ctrl+Ointermediate | Toggle thinking via / menu; Ctrl+O expands or collapses all thinking blocks | Command menu; Ctrl+O | not stated | Docs ↗ |
| Multi line inputbeginner | New line without sending | Shift+Enter | not stated | Docs ↗ |
| LaTeX math renderingbeginner | Typesets $$...$$, \[...\], $...$, \(...\) and fenced math blocks | Automatic in the chat panel (not terminal mode) | v2.1.301 | Docs ↗ |
| Session history and resumebeginner | Search or browse past conversations; plan mode is restored on resume | Session history button; titles are AI generated; rename or archive on hover | plan restore v2.1.246 | Docs ↗ |
| Auto archive inactive sessionsintermediate | Moves sessions idle for 14 days (default) to Archived | Setting claudeCode.archiveInactiveSessions (1, 2, 7, 14, 0 to turn off) | v2.1.265 | Docs ↗ |
| Resume cloud sessions in VS Codeintermediate | Pull a claude.ai session into the editor; Remote Control sessions also listed | Session history > Web tab (needs claude.ai sign-in) | not stated | Docs ↗ |
| Account and usage dialogintermediate | Plan usage bars, attribution by skill/subagent/plugin/MCP, Recommendations and a Fix button | /usage; Day/Week toggle | fix button v2.1.305; session totals v2.1.277 | Docs ↗ |
| Checkpoints and rewindintermediate | Fork conversation, rewind code, or both from any message | Hover a message, click rewind | not stated | Docs ↗ |
| Move the panelbeginner | Dock in secondary sidebar, primary sidebar, or editor area | Drag the panel tab; lockEditorGroups setting | lock setting v2.1.274 | Docs ↗ |
| Multiple conversationsbeginner | Parallel tabs or windows; blue dot = permission pending, orange = finished while hidden | Command Palette "Open in New Tab" / "Open in New Window" | not stated | Docs ↗ |
| Session groups and filtersintermediate | Named collapsible groups; Active toggle and status filter in the Activity Bar | Right-click a session; funnel icon | groups v2.1.229; filters v2.1.271; group from tab v2.1.257 | Docs ↗ |
| Continue after reloadintermediate | Claude continues an interrupted step after a window reload | Setting continueAfterReload (default true) | v2.1.274 | Docs ↗ |
| Terminal modeintermediate | CLI style interface instead of the chat panel | Setting claudeCode.useTerminal; Command Palette "Open in Terminal" | not stated | Docs ↗ |
| Manage plugins in the panelintermediate | Install, uninstall, manage marketplaces; share a plugin install link | Manage plugins dialog; handler vscode://anthropic.claude-code/install-plugin | not stated | Docs ↗ |
| Chrome from VS Codeintermediate | @browser drives your Chrome (needs extension 1.0.36+); "Enabled by default" auto connects each session | @browser go to localhost:3000 and check the console | auto connect v2.1.287 | Docs ↗ |
| Run in backgroundintermediate | Moves a long command or subagent to a background task after ~2 s | Click "Run in background" under the tool call | v2.1.287 | Docs ↗ |
| Keyboard shortcutsbeginner | Focus toggle Cmd/Ctrl+Esc; new tab Cmd/Ctrl+Shift+Esc; new conversation Cmd/Ctrl+N (needs enableNewConversationShortcut); reopen closed tab Cmd/Ctrl+Shift+T; insert @-mention Option/Alt+K | Command Palette lists all "Claude Code" commands; also Show Logs, Rename Session Tab, Mark Session as Unread | rename/group/unread v2.1.257 | Docs ↗ |
| URI handleradvanced | Open a tab from scripts, bookmarklets or aliases, with prompt (prefilled, not sent) and session | open "vscode://anthropic.claude-code/open?prompt=review%20my%20changes" | not stated | Docs ↗ |
| Extension settingsintermediate | useTerminal, initialPermissionMode, preferredLocation, autosave, useCtrlEnterToSend, showMessageTimestamps, spinnerVerbs, usePythonEnvironment, environmentVariables, disableLoginPrompt, allowDangerouslySkipPermissions, claudeProcessWrapper and more | Settings > Extensions > Claude Code | per setting | Docs ↗ |
| Settings JSON schemaintermediate | Autocomplete and validation for settings.json | Add "$schema": "https://json.schemastore.org/claude-code-settings.json" | not stated | Docs ↗ |
| Third party providers in VS Codeadvanced | Use Bedrock, Agent Platform or Foundry; no plan usage bars, voice dictation or Web tab | Enable "Disable Login Prompt", configure provider in ~/.claude/settings.json | not stated | Docs ↗ |
| Screen reader supportintermediate | Announces conversation activity; "Focus last message" command | Automatic | focus command v2.1.268 | Docs ↗ |
| Extension vs CLIintermediate | CLI only: ! Bash shortcut, tab completion, full command set; extension has checkpoints and MCP dialog | Run claude in the integrated terminal (needs standalone CLI install) | not stated | Docs ↗ |
| Share history with CLIbeginner | Extension and CLI share one history | claude --resume in a terminal | not stated | Docs ↗ |
| MCP dialogintermediate | Add, remove (local/user/project), enable/disable, reconnect, OAuth | Type /mcp in the panel; or claude mcp add in the terminal | add/remove v2.1.261 | Docs ↗ |
| Built in IDE MCP serveradvanced | Local ide server (loopback only, random port, auth token in ~/.claude/ide/<port>.lock) exposes mcp__ide__getDiagnostics and mcp__ide__executeCode (Jupyter, always asks via Quick Pick); chat panel uses mcp__claude-vscode__getDiagnostics | Automatic; deny with permissions.deny rules naming both tools | claude vscode server v2.1.285 | Docs ↗ |
| Fix common issuesbeginner | Extension won't install, Spark icon missing, Cmd+Esc does nothing, Ctrl+J newline, blank panel, TLS proxy | See headings | not stated | Docs ↗ |