The one-screen version — how to get Claude Code running in VS Code: make sure you're on VS Code 1.94.0 or later, open the Extensions view with Cmd+Shift+X (Mac) or Ctrl+Shift+X (Windows/Linux), search for "Claude Code", and click Install — or use the direct link vscode:extension/anthropic.claude-code. On first open you sign in with your Anthropic account: any paid Claude plan (Pro, Max, Team, Enterprise) or a Claude Console account works, and no API key is required. Then click the Spark icon in the editor's top-right toolbar to open the panel. That's the whole setup. The rest of this piece is what the panel does that the terminal can't — and the one case where plain claude in the integrated terminal is still the better tool.

Prerequisites (two of them)#

  1. VS Code 1.94.0 or later. Check Code → About. The extension's version number, confusingly, is the Claude Code version it bundles, not a VS Code version — so a feature that says it needs Claude Code v2.1.275+ means you need at least that version of the extension, which the Extensions view shows.
  2. An Anthropic account on a paid plan or Console. Pro, Max, Team, Enterprise, or a Claude Console account all authenticate the extension. You don't paste a key; you complete sign-in in the browser the first time the panel opens.

Install it#

Two routes, both one step:

On a VS Code fork — Cursor, Kiro, and others — the same extension installs the same way. If your editor can't reach Microsoft's marketplace, install from the Open VSX registry instead. If the panel doesn't show up after installing, run Developer: Reload Window from the Command Palette or restart the editor.

Open the panel#

Throughout the IDE, the Spark icon means Claude Code. Four ways to open it:

You can drag the panel anywhere in the layout — dock it beside the editor, below it, or in a separate window.

The three things the panel does that the terminal can't#

This is the actual reason to use the extension instead of the CLI.

1. A plan you can edit before it runs. Switch the permission-mode indicator at the bottom of the prompt box to Plan, and VS Code opens Claude's plan as a full Markdown document. You add inline comments to correct the approach before a single file changes. You can also type /plan or /plan fix the auth bug to start planning a specific task.

The terminal shows you the plan. The panel lets you redline it. On anything bigger than a one-line fix, redlining the plan is where the quality comes from — it's the same plan-first discipline that separates vibe coding from spec-driven work.

2. Inline diffs with per-change accept/reject. In Manual mode, every proposed edit opens as a side-by-side diff. You accept or reject the whole file, or — with a recent enough extension — step through one change at a time with Accept/Reject buttons under each hunk. (A diff with more than ~100 changes opens as a whole-file review instead.) Editing the proposed content directly in the diff before accepting tells Claude you changed it, so it doesn't assume the file matches its original proposal.

3. @-mentions of exact line ranges. Select lines in a file, press Option+K (Mac) / Alt+K (Windows/Linux), and the panel inserts a precise reference like @file.ts#5-10 into your prompt. Claude already sees your selection; this pins the conversation to the exact span you mean.

On top of those: conversation history, multiple sessions in tabs or windows, model switching mid-session (/model), and the full slash-command set. MCP servers you configured through the CLI are available in the panel too — the command menu's Customize section exposes MCP, hooks, memory, permissions, and skills without leaving the IDE.

When the terminal still wins#

The extension is the default, but claude in the integrated terminal is the right call in three situations:

One gotcha that trips people up: the extension bundles its own copy of the CLI for the panel. That does not give you claude in the integrated terminal — for that you install the standalone CLI separately. Having both is normal and fine.

The decision in one line#

If you code in VS Code or a fork and want to review what the model does before it does it, use the extension. If you're scripting, remote, or on an editor the extension can't reach, use claude in the terminal. They're the same engine; you're only choosing whether you want a GUI around the review step — and on real changes, that review step is worth wanting.