Claude Code in JetBrains IDEs: plugin setup, shortcuts and fixes
If you work in IntelliJ IDEA, PyCharm, WebStorm, GoLand, PhpStorm or Android Studio, a plugin connects Claude Code to the IDE: changes open in the IDE's own diff viewer, your selection is shared automatically, and Claude can see the IDE's error markers. Here is how to set it up and what to check when it doesn't connect.
Install: two pieces
The plugin does not bundle Claude Code. It runs the claude command in the IDE's integrated terminal and connects to it, so you need both.
- The CLI. Install Claude Code if you haven't (see the guides index for the basics). If
claudeisn't on your PATH, the plugin shows a "Cannot launch Claude Code" notification. - The plugin. Install the Claude Code plugin from the JetBrains Marketplace and restart the IDE. If
claudelives somewhere the IDE can't find, set the full path in the plugin's Claude command setting. - Sign-in works with a paid Claude subscription or a Console account, and no API key is needed. You are asked to log in the first time you run
claude.
Use it
- Inside the IDE: run
claudein the integrated terminal and all the integration features are active. The shortcut to open it is Ctrl+Esc (Cmd+Esc on a Mac), or click the Claude Code button. - From an external terminal: start
claudeand type/ide. It confirms with a message like "Connected to IntelliJ IDEA." Start from the same directory as the project root if you want Claude to see the same files as the IDE. - Diffs: changes open in the IDE diff viewer instead of the terminal. In
/config, the Diff tool setting switches betweenauto(IDE) andterminal. As we read the docs, that entry only appears while Claude Code is connected to the IDE. - Selection and files: your current selection or tab is shared with Claude, and Ctrl+Alt+K (Cmd+Option+K on a Mac) inserts a reference such as
@src/auth.ts#L1-99. - Diagnostics: Claude can read the IDE's inspection results (lint and syntax errors) when it asks for them. It does not ask for them on its own after every edit.
It is the same idea as the VS Code extension, with one difference: here Claude Code runs in the terminal and the plugin connects the IDE to it.
Settings worth knowing
Plugin settings are under Settings → Tools → Claude Code. The ones people need: the Claude command (a custom command or full path), a macOS option to use Option+Enter for new lines in a prompt, and automatic plugin updates. WSL users set the Claude command to run claude through wsl -d followed by your distribution name; the exact form is in the documentation.
When something doesn't work
- ESC doesn't interrupt Claude: in Settings → Tools → Terminal, untick "Move focus to the editor with Escape" (or remove the "Switch focus to Editor" shortcut under the terminal keybindings).
- Features missing: run Claude Code from the project root, check the plugin is enabled, and restart the IDE completely (the docs say you may need to do it more than once).
- "No available IDEs detected" after
/ide: check the plugin is installed and enabled, restart the IDE, and if you expected an automatic connection, check you startedclaudefrom the IDE's terminal. - "Command not found" when clicking the icon: check
claude --versionworks in a normal terminal, then set the command path in the plugin settings. - Remote Development: install the plugin on the remote host through Settings → Plugin (Host), not on your local client.
- WSL2 can't see the IDE: the usual cause is WSL2's network setup or Windows Firewall blocking the link between WSL2 and the IDE on Windows. The documentation describes two fixes: a firewall rule for the WSL2 subnet (an administrator step) or switching WSL2 to mirrored networking (Windows 11 22H2 or later). Follow its exact steps instead of copying commands from a summary.
A safety note
As we read the docs, in acceptEdits mode Claude may be able to change IDE configuration files that the IDE can run automatically, which could get around the permission prompts for shell commands. The docs suggest using manual approval for edits in a JetBrains IDE, using Claude only with prompts you trust, and knowing which files it can change. More on modes in permission modes.
The plugin also starts a local connection that the CLI uses to open diffs, read your selection and fetch diagnostics. Your selection and open file travel to Claude with each prompt; to keep a sensitive file such as .env out, add a Read deny rule for it (see the permissions starter). The setting "Accept connections from all network interfaces" makes that connection reachable from your local network and the traffic is not encrypted, so leave it off unless you have no other option.
This follows Anthropic's JetBrains documentation as we read it in October 2026, shortened on purpose. We are not affiliated with Anthropic or JetBrains. We wrote this from the documentation and have not tested every IDE or operating system. The plugin is still labelled beta, menu names and defaults change, and where this page and the documentation disagree, the documentation wins.
The free loop-stop skill gives long tasks a limit and a stop rule. If you want a second pair of eyes on your CLAUDE.md and settings, the Tune-Up Kit is a checklist for exactly that.