IDE integration
Claude Code in your code editor. VS Code, JetBrains, or a plain terminal, the same tool adapted to where you actually work.
Claude Code works in three places: the terminal (the pure CLI), VS Code (native graphical interface), and JetBrains IDEs (dedicated plugin). The terminal is where power users live. The IDE extensions are where most developers should start, because they show you diffs visually, let you review changes before accepting them, and integrate Claude into the tool you already have open.
VS Code
The VS Code extension is the recommended way to use Claude Code if you already live in VS Code (or a fork like Cursor or Windsurf). It gives you everything the terminal has, plus a graphical interface for reviewing diffs, accepting changes, and managing conversations.
VS Code features
Visual diff review. When Claude edits a file, the change appears as a coloured diff in the editor panel. Green for additions, red for removals. You can accept, reject, or modify the change inline before it is applied. No more reading raw terminal output to understand what changed.
@-mention files with line ranges. Type @src/auth/login.ts to reference a file. Type @src/auth/login.ts#L20-L40 to reference specific lines. Claude reads exactly what you point it at. Faster than typing "read lines 20 to 40 of the login file".
Multiple sessions side by side. Run two or more Claude Code sessions in separate VS Code tabs. One session debugging, another writing tests. They share the same codebase but have independent context windows. Useful for the writer/reviewer pattern from the Patterns page.
Auto-accept edits. Toggle on to accept every file change automatically. Useful when Claude is executing a plan you have already reviewed. Toggle off for the review-each-change workflow. The toggle is in the VS Code status bar.
Getting started with VS Code
Install the extension. Open VS Code, go to Extensions (Ctrl+Shift+X), search "Claude Code", install. Restart VS Code.
Open the Claude panel. Use the command palette (Ctrl+Shift+P) and type "Claude" to see available commands. Or click the Claude icon in the sidebar.
Start a session. The session opens in a panel alongside your editor. Type your request, review changes as diffs, accept or reject. Same workflow as the terminal but with visual tooling.
JetBrains
The JetBrains plugin works in IntelliJ, PyCharm, WebStorm, GoLand, PhpStorm, and Android Studio. It integrates Claude Code into the IDE with quick-launch shortcuts, interactive diff viewing, and automatic context from your current selection.
JetBrains features
Quick launch with Cmd+Esc / Ctrl+Esc. Opens Claude Code instantly without navigating menus. The fastest way to get Claude's attention while you are mid-thought in the editor.
Interactive diff viewing. When Claude proposes a change, it appears in the IDE's native diff viewer. You can use all the IDE's diff tools: accept hunks individually, edit the proposed change before applying, or reject the whole thing.
Automatic selection sharing. Highlight code in the editor, then ask Claude a question. The selection is automatically included in your message. No need to manually paste or reference the file. Works with multi-line selections and across files.
Diagnostic error sharing. When the IDE detects an error (red squiggle), you can send it directly to Claude with context. Claude sees the error, the surrounding code, and the diagnostic message. Fix it in one step instead of copy-pasting error text.
Getting started with JetBrains
Install the plugin. Open Settings, go to Plugins, search "Claude Code" in the Marketplace tab, install. Restart the IDE.
Quick launch. Press Cmd+Esc (macOS) or Ctrl+Esc (Windows/Linux) to open the Claude panel instantly.
Use file references. Type @FileName#L1-99 to reference specific lines. The plugin resolves the file path automatically from the project index.
VS Code vs JetBrains comparison
| Feature | VS Code | JetBrains |
|---|---|---|
| Quick launch | Ctrl+Shift+P then "Claude" | Cmd+Esc / Ctrl+Esc (one keystroke) |
| File references | @file with line ranges | @File#L1-99 |
| Diff review | Inline coloured diff | Full IDE diff viewer with per-hunk control |
| Auto-accept edits | Yes, toggle in status bar | Yes (caution: may auto-execute IDE configs) |
| Multiple sessions | Yes, multiple tabs | Single session |
| Selection context | Highlight then ask | Automatic selection sharing |
| Diagnostic sharing | Manual copy | One-click error sharing with full context |
| Remote dev (WSL) | Plugin on remote host | Plugin on remote host |
| Fork support | Cursor, Windsurf | All JetBrains IDEs |
Both are good. VS Code is better for multi-session workflows. JetBrains is better for the one-keystroke launch and per-hunk diff control. Pick whichever IDE you already use.
When to use the terminal instead
The IDE extensions are the default recommendation for most developers, but the plain terminal has advantages in specific situations:
- Headless or CI environments. The terminal works via SSH, in containers, in CI pipelines. The IDE extension does not.
- Long-running autonomous tasks. If you are handing Claude a multi-hour job (a large migration, a bulk refactor), the terminal is more stable for extended sessions.
- Scripted or piped usage.
cat file | claude -p "explain this"and other piped workflows only work in the terminal. - Remote control from mobile. The
claude remote-controlfeature works from the terminal, not from the IDE extension. - Personal preference. Some people simply prefer a terminal. That is a valid reason.
Terminal-only vs IDE-integrated workflow
You see file edits described in text. "Edit src/auth/login.ts (3 lines changed)". To see what actually changed, you switch to your editor, open the file, and look for the modifications. Then switch back to the terminal to continue. The context switching adds up on multi-file changes.
When Claude edits a file, the diff appears inline in your editor panel in green and red. You can accept, modify, or reject each change without leaving the editor. The conversation history sits in a panel next to your code. No context switching. You are always in one place.
Remote development
If you develop in WSL (Windows Subsystem for Linux) or via SSH, both IDE extensions require the plugin to be installed on the remote host, not just the local client. This is a common gotcha: you install the extension locally, connect to the remote, and Claude does not appear.
Fix for WSL and remote SSH
VS Code: after connecting to the remote, go to Extensions, find Claude Code, and click "Install in WSL" or "Install in SSH: [host]". The extension runs on the remote where the code lives.
JetBrains: same principle. The plugin must be installed on the remote development host, not the local thin client. Check Plugins after connecting.
JetBrains auto-edit safety note
When auto-edit mode is enabled in JetBrains, Claude can modify IDE configuration files (like run configurations) that are auto-executed by the IDE. This means a change to a run config could trigger execution without an explicit "run" command from you. For sensitive projects, use manual approval mode rather than auto-edit.
The IDE extension is where most people should start with Claude Code. It shows you what is happening visually, lets you review every change, and keeps you in one place. Graduate to the terminal when you need headless execution, piped workflows, or remote control.
Go back to the Claude Code overview or the handbook homepage.