The Claude Code VS Code extension is Anthropic's official graphical interface for Claude Code inside VS Code, and it also installs in Cursor. Search for "Claude Code" in the Extensions view, install it, click the Spark icon and sign in with a paid Claude plan or Claude Console account. You then chat with Claude in a side panel, review its edits as diffs, and @-mention files and line ranges from your editor.
Anthropic's docs call it "the recommended way to use Claude Code in VS Code." This guide covers install, the main features, shortcuts, settings, and when the terminal CLI is the better fit. Everything comes from the VS Code docs page, read on 24 October 2026.
What do you need before installing?
- VS Code 1.94.0 or later. Check under Help > About.
- An Anthropic account: any paid Claude subscription (Pro, Max, Team or Enterprise) or a Claude Console account. No API key is required; you sign in from the extension.
- Optional: the standalone CLI. The extension bundles its own copy of the CLI for the chat panel, but it doesn't put
claudeon your PATH. Install the CLI separately if you also want to runclaudein the integrated terminal. See the Claude Code setup guide.
If your company reaches Claude through Amazon Bedrock, Google Cloud's Agent Platform or Microsoft Foundry, turn on the extension's Disable Login Prompt setting and configure the provider in ~/.claude/settings.json.
How do you install the Claude Code extension?
- Press
Cmd+Shift+X(Mac) orCtrl+Shift+X(Windows and Linux) to open the Extensions view. - Search for "Claude Code" and click Install. You can also install it from the VS Code Marketplace.
- If it doesn't appear, run Developer: Reload Window from the Command Palette.
The extension's version number matches the Claude Code version it bundles, so a feature that needs Claude Code v2.1.286 needs extension version 2.1.286 or later.
Cursor and other forks. The docs include a direct install link for Cursor. Forks like Kiro can install from the Open VSX registry. For a full comparison of the two tools, see Claude Code vs Cursor.
How do you start using it?
- Open the panel. Click the Spark icon in the Editor Toolbar at the top right (it shows only when a file is open). You can also click ✻ Claude Code in the Status Bar, the Spark icon in the Activity Bar for the sessions list, or search "Claude Code" in the Command Palette.
- Sign in. Click Sign in and finish in your browser.
- Send a prompt. Claude sees your selected text automatically. Press
Option+K(Mac) orAlt+K(Windows and Linux) to insert a reference such as@app.ts#5-10. - Review changes. In Manual mode, Claude shows a side-by-side diff and asks before editing. You can accept, reject, or tell Claude what to do instead, and with v2.1.275 or later you can accept or reject each change in the diff one at a time.
Run Claude Code: Open Walkthrough from the Command Palette for a guided tour.
What can the VS Code extension do?
Permission modes. Click the mode indicator under the prompt box to switch between Auto (a classifier reviews most actions), Manual (Claude asks before edits and most commands), Plan, and Edit automatically.
Plan review. In Plan mode, Claude describes what it will do and waits. The docs say VS Code "automatically opens the plan as a full Markdown document where you can add inline comments" before Claude starts.
@-mentions. Type @ plus a file or folder name, with fuzzy matching. Use @terminal:name to include a terminal's output. Paste images into the prompt box, or hold Shift while dragging files in.
Checkpoints. Hover over a message to rewind: fork the conversation, rewind code, or both.
Multiple conversations. Open extra tabs or windows from the Command Palette. Each has its own history. A dot on the Spark icon shows status: blue for a pending permission request, orange when Claude finished while the tab was hidden.
Session history. Search past conversations from the Session history button and resume any of them.
Git. Ask Claude to commit, write commit messages or create pull requests.
MCP servers. Type /mcp in the chat panel to add, remove, enable or reconnect servers. It shares configuration with claude mcp add in the terminal. See the Claude Code MCP guide.
Model and commands. Type / for the command menu, which covers switching models and extended thinking, plus a Customize section for MCP servers, hooks, memory, instructions, permissions and plugins.
What are the keyboard shortcuts?
| Action | Mac | Windows and Linux |
|---|---|---|
| Toggle focus between editor and Claude | Cmd+Esc |
Ctrl+Esc |
| Open a new conversation in a tab | Cmd+Shift+Esc |
Ctrl+Shift+Esc |
| Insert @-mention for file and selection | Option+K |
Alt+K |
| Reopen closed Claude session tab | Cmd+Shift+T |
Ctrl+Shift+T |
| Toggle Focus view (hide tool activity) | Ctrl+Option+F |
Ctrl+Alt+F |
| New conversation (opt-in setting) | Cmd+N |
Ctrl+N |
| New line without sending | Shift+Enter |
Shift+Enter |
On macOS Tahoe and later, Cmd+Esc may do nothing because the system Game Overlay shortcut grabs it. Clear Game Overlay under System Settings > Keyboard > Keyboard Shortcuts > Game Controllers, or rebind Claude Code: Focus input in VS Code. For the full CLI command list, see the Claude Code cheat sheet.
Which settings matter most?
There are two places to configure Claude Code in VS Code:
- Extension settings:
Cmd+,orCtrl+,, then Extensions > Claude Code. These control how the extension behaves in the editor. ~/.claude/settings.json: shared with the CLI, for allowed commands, environment variables, hooks and MCP servers.
Extension settings worth knowing:
| Setting | Default | What it does |
|---|---|---|
useTerminal |
false |
Launch Claude in terminal mode instead of the graphical panel |
initialPermissionMode |
unset | Starting mode for new conversations: default, plan, acceptEdits or bypassPermissions |
preferredLocation |
panel |
Open Claude in the sidebar or as a new tab (panel) |
autosave |
true |
Save files before Claude reads or writes them |
useCtrlEnterToSend |
false |
Send with Ctrl/Cmd+Enter instead of Enter |
respectGitIgnore |
true |
Exclude .gitignore patterns from file search and selection context |
enableNewConversationShortcut |
false |
Turn on Cmd/Ctrl+N for a new conversation |
Tip from the docs: add "$schema": "https://json.schemastore.org/claude-code-settings.json" to your settings.json for autocomplete and validation in VS Code.
Should you use the extension or the terminal CLI?
| Feature | CLI | VS Code extension |
|---|---|---|
| Commands and skills | All | A subset (type / to see them) |
| MCP server config | Yes | Yes, with /mcp |
| Checkpoints | Yes | Yes |
! Bash shortcut |
Yes | No |
| Tab completion | Yes | No |
You don't have to choose. Open the integrated terminal with Ctrl+` (or Cmd+` on Mac) and run claude; the CLI connects to VS Code for diffs and diagnostics. From an external terminal, run /ide to connect. Both share conversation history, so claude --resume picks up an extension conversation in the terminal. If you like the CLI look but want it in the editor, turn on the Use Terminal setting.
How do you fix common problems?
- Spark icon missing: open a file (a folder alone isn't enough), check VS Code is 1.94.0 or later, reload the window, temporarily disable other AI extensions, and make sure the workspace isn't in Restricted Mode.
- Still asked to sign in with
ANTHROPIC_API_KEYset: VS Code may not have your shell environment. Launch it from a terminal withcode ., or sign in with your Claude account. claudenot found in the integrated terminal: install the standalone CLI; on Windows see the Claude Code Windows guide for PATH fixes.- No response: start a new conversation, then run
claudein a terminal to see fuller error messages.
What about JetBrains IDEs?
Anthropic also publishes a Claude Code plugin for JetBrains IDEs, including IntelliJ IDEA, PyCharm, Android Studio, WebStorm, PhpStorm and GoLand. It opens Claude's changes in the IDE diff viewer, shares your selection, and launches with Cmd+Esc or Ctrl+Esc. It runs claude in the IDE's terminal and doesn't bundle the CLI, so install the CLI first.
Do your skills work in the extension?
Yes, with one limit: the extension offers a subset of the CLI's commands and skills, so type / to see what's available. With Claude Code v2.1.280 or later, typing /skills in the panel opens a dialog that lists each skill with its visibility, such as On or Name only, which you can change there. Personal skills live in ~/.claude/skills/, per the skills docs. If you keep prompts and Agent Skills in Kipt, they sit as Markdown in a private GitHub repo you own, and npx skills add https://github.com/<you>/<repo>.git --all -g installs every skill into Claude Code in one command.