Skip to main content
Claude Code can connect to IDE extensions running in VS Code, Cursor, Windsurf, and JetBrains editors. When connected, the IDE and Claude Code share context about open files, the active editor, and workspace state.

How IDE integration works

Claude Code detects running IDEs automatically and connects to them via an MCP server that runs inside the IDE extension. The connection uses a private SSE or WebSocket transport (sse-ide / ws-ide) that is managed internally — you do not configure these transports manually. The /ide command lets you view and manage the active IDE connection.
# Open the IDE integration panel
/ide

# Open the IDE integration panel and connect
/ide open

Supported IDEs

Claude Code detects and connects to the following editors when their Claude Code extension is installed and running:
  • VS Code (and VS Code-compatible editors)
  • Cursor
  • Windsurf
  • JetBrains IDEs (IntelliJ, PyCharm, WebStorm, etc.) — detected when running in a supported JetBrains terminal
IDE integration requires the Claude Code extension to be installed and active in the editor. Claude Code detects running IDEs by scanning for their MCP server endpoints on known local ports.

Connecting to an IDE

1

Install the extension

Install the Claude Code extension in your IDE from its extension marketplace.
2

Open Claude Code in the terminal

Start a Claude Code session in the integrated terminal of your IDE, or in any terminal while the IDE is running.
3

Check the connection

Run /ide to see available IDE connections. Claude Code will list detected IDEs and show which one (if any) is currently active.
4

Select your IDE

If multiple IDE instances are detected, use the /ide panel to select the one you want to connect to. You can also set one IDE to connect automatically on startup.

Auto-connect

Claude Code can automatically connect to a detected IDE when a session starts. The first time you select an IDE, you will be prompted to enable auto-connect. You can disable it later from the /ide panel by selecting “None”.

File update notifications

When Claude Code is connected to VS Code and edits or writes a file, it sends a file_updated notification to the extension so the editor can refresh open tabs immediately.

Terminal setup

Some terminal emulators require additional key binding configuration to work well with Claude Code. Run the terminal-setup command to install the recommended key bindings for your terminal:
claude terminal-setup
This command installs a Shift+Enter key binding for inserting newlines in the Claude Code prompt (instead of submitting). On Apple Terminal it installs an Option+Enter binding instead.
This command is hidden automatically for terminals that already support the CSI u / Kitty keyboard protocol natively (Ghostty, Kitty, iTerm2, WezTerm).
Claude Code supports the cc:// URL protocol for opening sessions directly from external tools such as IDEs, scripts, or browser extensions. Deep links are handled by the running Claude Code process and can be used to pass context or pre-fill a prompt.

SDK-driven sessions

When Claude Code is launched by an SDK, it accepts a --sdk-url flag that points to the SDK’s MCP endpoint. This registers an internal sdk transport connection so tool calls from the SDK are routed through the session. This is an internal mechanism used by IDE extensions and is not intended for manual use.

Build docs developers (and LLMs) love