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.
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
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.
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.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 afile_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 theterminal-setup command to install the recommended key bindings for your terminal:
This command is hidden automatically for terminals that already support the CSI u / Kitty keyboard protocol natively (Ghostty, Kitty, iTerm2, WezTerm).
Deep links
Claude Code supports thecc:// 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.