If you searched "claude code vscode," here's the whole answer: install the official Claude Code extension (publisher: Anthropic) from the VS Code Marketplace, open a file, click the Spark icon in the top-right editor toolbar, and sign in with a paid Claude account. The extension ships with its own copy of the Claude Code CLI, so that's genuinely all it takes — no Node install, no separate CLI, no API key.

That last part is what most older tutorials get wrong: the graphical panel is self-contained. You only need a separate install for the claude command in your terminal — covered at the end.

Prerequisites#

1. Install the extension#

The Marketplace path. In VS Code, press Cmd+Shift+X (Mac) or Ctrl+Shift+X (Windows/Linux) to open the Extensions view, search Claude Code, confirm the publisher is Anthropic, and click Install. Or use the direct link vscode:extension/anthropic.claude-code. If the extension doesn't appear afterward, run Developer: Reload Window from the Command Palette.

The claude auto-install path. If you already have the standalone CLI, you don't have to touch the Marketplace. Open VS Code's integrated terminal and run:

claude

Running claude inside a VS Code terminal auto-installs the IDE extension for you. If you'd rather it didn't, turn off Auto-install IDE extension in /config, set autoInstallIdeExtension to false, or set the CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL environment variable to 1.

The first time you open the panel, a sign-in screen appears. Click Sign in and finish authorization in your browser.

2. What changes vs. the terminal#

Running Claude Code inside the editor buys you a real GUI on top of the same engine:

Under the hood, a small local ide MCP server is what opens those diffs, reads your selection, and pulls language-server diagnostics.

3. The everyday workflow#

The loop is short:

  1. Open the file you're working in. Click the Spark icon (top-right of the editor) to open the panel. Cmd+Esc / Ctrl+Esc toggles focus between editor and Claude.
  2. Point at the code. Select the lines in question and press Option+K / Alt+K to attach them as a reference, or just @-mention a file.
  3. Ask in plain language: "why does this throw on an empty array?" or "add pagination to this endpoint."
  4. Review the diff and accept or reject. Cmd+Shift+Esc / Ctrl+Shift+Esc opens a fresh conversation in a new tab when you want to keep tasks separate.

One honest heads-up for solo builders: on Pro, Max, and Team plans the panel starts in Auto mode, where a classifier approves most edits instead of you. That's fast, but Claude changes files without asking by default. Click the mode indicator at the bottom of the prompt box and switch to Manual when you want to eyeball every diff — for instance when Claude is touching config files VS Code executes automatically. (Keeping a long session's context clean is its own skill; see how to manage context in a long-running agent.)

4. When to stay in the terminal instead#

The extension exposes a subset of Claude Code. Drop to the CLI when you hit its edges:

To run the CLI without leaving VS Code, open the integrated terminal (Ctrl+` / Cmd+`) and run claude. The catch worth repeating: installing the extension does not put claude on your PATH — the bundled copy is private to the panel. You need the standalone install (curl -fsSL https://claude.ai/install.sh | bash on macOS/Linux) for the terminal command. From an external terminal, run /ide inside Claude to connect back to VS Code for diff viewing.

Extension and CLI share the same history, so claude --resume picks up a panel conversation and vice versa. Use the panel to review and shape changes; use the terminal for scripting and scale. For picking the model underneath, our open-source LLM for coding roundup covers the local alternatives.