Post your build ideas
LocalASO Track App Store keyword ranks in every countryFind your vibe. Find you job which is just for you and your dataDealtab Brand Deal Tracker That Does The Work For YouIs Major Cooked? Free AI risk score + roast for your college majorWiral.Social LinkedIn, Scheduler, Scheduling Tool, Ghostwriter
Solo Era solo activities, solo maxxing, sidequests, challengeCadentiq daily routine, wellbeing, self care, healthy habitsTexeva Your businessKeepsake Project Management, Freelancers, DesignersOrvyx AI You create

Claude Code VS Code extension and JetBrains plugin: install and features

To use Claude Code in VS Code, install the Claude Code extension (anthropic.claude-code) from the Extensions view, click the Spark icon, and sign in with a paid Claude plan or a Console account. It needs VS Code 1.94.0 or later and gives you a chat panel with inline diffs, plan review, @-mentions and checkpoints. JetBrains IDEs use a separate plugin that connects to the claude command in the IDE’s terminal.

What are the Claude Code VS Code extension and JetBrains plugin?

Claude Code started as a terminal tool. Anthropic also ships two IDE integrations. They are built differently, and the difference decides what you install.

VS Code extension compared with the JetBrains plugin
VS Code extensionJetBrains plugin
What it isA native graphical chat panel inside VS CodeA plugin that runs the claude command in the IDE’s terminal and connects to it
Bundles its own CLI?Yes, a private copy for the chat panelNo; you install the CLI separately
Shows diffs inVS Code’s diff viewer, with per-change accept and rejectThe IDE’s diff viewer (setting: Diff tool in /config)
Context sharingSelected text and open file, plus @-mentions with line rangesSelection or current tab, plus file reference shortcuts
Works inVS Code, plus Cursor and other VS Code forksIntelliJ IDEA, PyCharm, Android Studio, WebStorm, PhpStorm, GoLand and others

Both need an Anthropic account: any paid Claude subscription (Pro, Max, Ultra, Team or Enterprise) or a Claude Console account, and no API key is required. As of October 2026, check Claude Code pricing for what each plan includes. The free claude.ai plan does not include Claude Code.

How do you install the Claude Code extension for VS Code?

  1. Check that you have VS Code 1.94.0 or later and an Anthropic account.
  2. Open the Extensions view with Cmd+Shift+X (Mac) or Ctrl+Shift+X (Windows and Linux), search for “Claude Code”, and click Install. The extension ID is anthropic.claude-code.
  3. If the extension does not appear afterward, restart VS Code or run Developer: Reload Window from the Command Palette.
  4. Click the Spark icon in the Editor Toolbar (top right, visible when a file is open), or click ✻ Claude Code in the status bar, or open the Command Palette and choose a “Claude Code” entry such as Open in New Tab.
  5. On first open, click Sign in and finish authorization in your browser.
  6. Type a prompt. A “Learn Claude Code” checklist appears after sign-in; you can work through it or dismiss it.

The official VS Code page also lists direct install links for VS Code and for Cursor. Other VS Code forks such as Devin Desktop and Kiro can install the same extension from their own Extensions view or from the Open VSX Registry. In an editor that cannot install it, install the CLI and run claude in the integrated terminal instead.

If you set ANTHROPIC_API_KEY in your shell and still see the sign-in prompt, VS Code may not have inherited your shell environment. Launch it from a terminal with code . so it does, or sign in with your Claude account.

What does a first session in VS Code look like?

Claude automatically sees your selected text. Press Option+K (Mac) or Alt+K (Windows and Linux) to also insert an @-mention such as @file.ts#5-10 into your prompt. You can type @ followed by a file or folder name to reference it, and the matching is fuzzy, so partial names work. Add a trailing slash for a folder.

Three first prompts for the chat panel
Explain the logic in @auth (fuzzy matches auth.js, AuthService.ts, etc.)

What does this function do, and what could go wrong when the input is empty? (with the function selected)

/plan add a loading state to the checkout button and a test for it

Then review the changes. What you see depends on the permission mode shown at the bottom of the prompt box:

Permission modes in the VS Code prompt box
ModeWhat happens
AutoA classifier reviews most actions instead of asking you. On Claude Code v2.1.283 or later, Auto is the built-in starting mode
ManualClaude asks before file edits and most shell commands, showing a side-by-side diff
PlanClaude describes what it will do and waits for approval. VS Code opens the plan as a Markdown document where you can add inline comments
Edit automaticallyClaude makes edits without asking

In Manual mode you can accept, reject, or tell Claude what to do instead. If you edit the proposed content in the diff before accepting, Claude is told, so it does not assume the file matches its original proposal. With Claude Code v2.1.275 or later, each change in a diff has its own Accept this change and Reject this change buttons, also available as the Command Palette commands Claude Code: Accept Change at Cursor and Reject Change at Cursor.

/plan switches to plan mode, /plan with a task switches and starts planning it, and /plan open opens the plan file in the editor. All three need Claude Code v2.1.280 or later. For the workflow around plan mode, read Claude Code plan mode.

What can the VS Code extension do?

  • Attach context: @-mention files and folders, paste or attach images and files, read specific pages of a PDF, and include terminal output in a prompt.
  • Pick a model and effort: choose Switch model… from the command menu, or click the model name at the bottom of the prompt box. When the model supports effort levels, the picker shows an Effort row.
  • Command menu: type / to open it. The Customize section links to MCP servers, hooks, memory, instructions, permissions and plugins. /skills opens a list of skills, and /status shows version, account, model and MCP servers.
  • Side questions: /btw followed by a question answers in a side panel without adding to the conversation.
  • Checkpoints: hover over a message to reveal the rewind button. Options are fork the conversation from here, rewind the code to here, or do both.
  • Several conversations: use Open in New Tab or Open in New Window. A colored dot on the Spark icon shows status: blue means a permission request is pending; orange means Claude finished while the tab was hidden.
  • Resume past conversations: the extension and the CLI share the same history. Run claude --resume in a terminal to continue an extension conversation there.
  • Agent map: when a conversation uses subagents, an agent count appears at the bottom of the prompt box. Click it to see each subagent’s status, elapsed time and token count.
  • Git: ask “commit my changes with a descriptive message” or “create a pr for this feature”, as in the CLI.
  • Plugins and MCP: manage plugins and marketplaces from the extension, and add MCP servers with /mcp in the chat panel.
  • Remote Control: type /remote-control or /rc to continue the session from your phone or a browser; see Claude Code Remote Control.

You can drag the Claude panel anywhere: the secondary sidebar on the right to keep it visible while you code, the primary sidebar, or the editor area as a tab. The docs suggest the sidebar for your main session and extra tabs for side tasks.

What are the keyboard shortcuts?

Claude Code shortcuts in VS Code (Mac / Windows and Linux)
CommandShortcutWhat it does
Focus InputCmd+Esc / Ctrl+EscToggle focus between the editor and Claude
Open in New TabCmd+Shift+Esc / Ctrl+Shift+EscOpen a new conversation as an editor tab
Insert @-Mention ReferenceOption+K / Alt+KInsert a reference to the current file and selection (editor must be focused)
Reopen Closed SessionCmd+Shift+T / Ctrl+Shift+TReopen the most recently closed Claude tab
New ConversationCmd+N / Ctrl+NStart a new conversation; needs Claude focused and enableNewConversationShortcut set to true
Toggle Focus viewCtrl+Option+F / Ctrl+Alt+FHide or show tool activity in the conversation
Multi-line inputShift+EnterAdd a new line without sending

Open the Command Palette (Cmd+Shift+P or Ctrl+Shift+P) and type “Claude Code” to see every extension command.

Which settings matter?

Open settings with Cmd+, or Ctrl+, and go to Extensions > Claude Code. The ones people change most:

Useful extension settings from the docs
SettingDefaultWhat it does
useTerminalfalseOpens Claude in terminal mode instead of the graphical panel
initialPermissionModeunsetMode for new conversations: default, plan, acceptEdits or bypassPermissions; read from user settings, workspace values are ignored
preferredLocationpanelWhere Claude opens: sidebar or panel
autosavetrueSaves files before Claude reads or writes them
attachOpenFiletrueAdds the open file to your messages
useCtrlEnterToSendfalseRequires Ctrl or Cmd with Enter to send

Settings shared with the CLI live in ~/.claude/settings.json: allowed commands, environment variables, hooks and MCP servers. Add "$schema": "https://json.schemastore.org/claude-code-settings.json" to that file for autocomplete and validation in VS Code.

Keep .env and other sensitive files out of context with a Read deny rule for the path. The docs say a matching deny rule prevents both the selected text and the open-file notice for that file from reaching Claude.

Extension or CLI: which one should you use?

Both run the same Claude Code. The docs list the differences:

VS Code extension compared with the CLI
FeatureCLIVS Code extension
Commands and skillsAllA subset; type / to see what is available
MCP server configYesYes, with /mcp in the chat panel
CheckpointsYesYes
! Bash shortcutYesNo
Tab completionYesNo

A reasonable split: use the extension for reading diffs, reviewing plans and @-mentioning code you have selected. Use the CLI for anything that needs the full command list or the ! shortcut. You can do both in one window. Press ` Ctrl+ ` (Windows and Linux) or Cmd+ ` (Mac) to open the integrated terminal and run claude; it connects to the IDE automatically for diff viewing and diagnostics. If you work in an external terminal, run /ide` inside Claude Code to connect it to VS Code. If you prefer the CLI look inside the editor, turn on the Use Terminal setting.

Behind the scenes, the extension runs a local MCP server called ide that the CLI connects to. It binds to 127.0.0.1 on a random port, protects the connection with a fresh random token written to a lock file readable only by you, and is hidden from /mcp. You only need to know it exists if your organization uses a PreToolUse hook to allowlist MCP tools.

How do you set up Claude Code in a JetBrains IDE?

The plugin runs the claude command in your IDE’s integrated terminal and connects to it. It does not bundle its own CLI, so you install two pieces.

  1. Install the CLI by following the quickstart. If claude is not on your PATH, the plugin shows a “Cannot launch Claude Code” notification.
  2. Install the Claude Code plugin from the JetBrains Marketplace and restart the IDE.
  3. Run claude from the IDE’s integrated terminal. All integration features are then active.

To connect from an external terminal instead, run claude and then /ide. Success prints a message such as “Connected to IntelliJ IDEA.” Start Claude Code from the IDE project’s root so it sees the same files as the IDE.

JetBrains plugin features and shortcuts
FeatureHow
Quick launchCmd+Esc (Mac) or Ctrl+Esc (Windows and Linux), or the Claude Code button in the UI
Diff viewingChanges open in the IDE diff viewer; change it with the Diff tool setting in /config, set to auto or terminal
Selection contextYour current selection or tab is shared automatically; Read deny rules block sharing for matching files
File referencesCmd+Option+K (Mac) or Alt+Ctrl+K (Linux and Windows) inserts a reference such as @src/auth.ts#L1-99
DiagnosticsClaude reads the IDE’s lint and syntax errors through the getDiagnostics tool

Plugin settings are under Settings → Tools → Claude Code [Beta]. The plugin is labeled Beta. You can set a custom Claude command there. WSL users can use wsl -d Ubuntu -- bash -lic "claude" with their own distribution name. If the ESC key does not interrupt Claude in the JetBrains terminal, uncheck “Move focus to the editor with Escape” under Settings → Tools → Terminal. With JetBrains Remote Development, install the plugin on the remote host, not on your local client.

What do you do when an IDE integration does not work?

  • Spark icon missing in VS Code: the toolbar icon needs a file open; a folder alone is not enough. Also check the VS Code version (Help > About), reload the window, temporarily disable other AI extensions, and make sure the workspace is trusted, because the extension does not work in Restricted Mode. The ✻ Claude Code entry in the status bar works even with no file open.
  • Extension will not install: confirm VS Code is 1.94.0 or later, that VS Code has permission to install extensions, or install directly from the Visual Studio Marketplace page.
  • `Cmd+Esc` does nothing on macOS: the docs say that on macOS Tahoe and later the system Game Overlay shortcut is bound to Cmd+Esc and intercepts it. Clear the Game Overlay checkbox under System Settings > Keyboard > Keyboard Shortcuts > Game Controllers, or rebind Claude Code: Focus input in VS Code’s Keyboard Shortcuts editor.
  • “No available IDEs detected” after `/ide`: confirm the plugin is installed and enabled, restart the IDE completely, and launch claude from the IDE’s own terminal if you expected an automatic connection.
  • Claude Code never responds in VS Code: check your connection, start a new conversation, then run claude in a terminal to see more detailed error messages.

What should you build first with the extension?

Pick something with one screen and a clear test. The board has plenty: browse the productivity ideas or the developer tool ideas, copy the generated build prompt from an idea, and paste it into the chat panel in Plan mode. Read the plan before you let Claude edit. For the loop after that, see the Claude Code workflow guide.

Frequently asked questions

How do I install the Claude Code extension in VS Code?

Open the Extensions view with Cmd+Shift+X or Ctrl+Shift+X, search for Claude Code, and click Install. The extension ID is anthropic.claude-code, and it requires VS Code 1.94.0 or later. Then click the Spark icon and sign in with a paid Claude plan or a Console account in your browser.

Do I need the Claude Code CLI as well as the extension?

Not for the chat panel, because the extension bundles a private copy of the CLI. You do need the standalone CLI install to type claude in a terminal, use claude mcp add, or run claude --resume. The JetBrains plugin always needs the CLI installed separately.

Does the Claude Code extension work in Cursor?

Yes. The official VS Code page lists an install link for Cursor, and other VS Code forks such as Devin Desktop and Kiro can install the extension from their Extensions view or the Open VSX Registry. In an editor that cannot install it, run claude in the integrated terminal.

Is there a Claude Code plugin for JetBrains IDEs?

Yes. Install the Claude Code plugin from the JetBrains Marketplace and the Claude Code CLI separately. It supports IntelliJ IDEA, PyCharm, Android Studio, WebStorm, PhpStorm and GoLand, among others. Run claude from the IDE’s terminal, or run /ide from an external terminal to connect.

How do I connect Claude Code in a separate terminal to my IDE?

Start claude from the project’s root directory in your external terminal, then run /ide. Claude Code confirms with a message such as Connected to IntelliJ IDEA, and diffs, selection context and diagnostics then work. In the IDE’s own integrated terminal, the connection happens automatically.

Do the extension and the CLI share conversation history?

Yes. Both read the same history, so you can continue an extension conversation in the terminal by running claude --resume and picking it from the list. The extension supports checkpoints, MCP servers and most commands, but only a subset of slash commands, and it has no Bash shortcut or tab completion.

Created with AI assistance and edited for this site. Examples are illustrative and do not represent customer research. About the publisher.