> ## Documentation Index
> Fetch the complete documentation index at: https://mintlify.com/jackdog668/claude-code/llms.txt
> Use this file to discover all available pages before exploring further.

# IDE setup

> Connect Claude Code to your IDE or code editor for an integrated AI coding experience.

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.

```bash theme={null}
# 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

<Note>
  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.
</Note>

## Connecting to an IDE

<Steps>
  <Step title="Install the extension">
    Install the Claude Code extension in your IDE from its extension marketplace.
  </Step>

  <Step title="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.
  </Step>

  <Step title="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.
  </Step>

  <Step title="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.
  </Step>
</Steps>

## 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:

```bash theme={null}
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.

<Note>
  This command is hidden automatically for terminals that already support the CSI u / Kitty keyboard protocol natively (Ghostty, Kitty, iTerm2, WezTerm).
</Note>

## Deep links

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.
