← Blog

Claude Code JetBrains Plugin: Install and Setup

October 5, 2026

AI Coding

You live in IntelliJ IDEA, PyCharm, or WebStorm, and you want Claude Code there instead of in a separate window. It works, but the shape is different from what VS Code users get. In VS Code there is a graphical panel. In JetBrains, the Claude Code JetBrains plugin is a bridge: Claude Code keeps running as the terminal CLI, and the plugin connects it to your IDE.

That bridge gives you the IDE's own diff viewer, your current selection as context, and file-reference shortcuts. This guide covers how to install it, how the connection works, what to change in settings, and what to do when it can't find your IDE. It also covers the one source of confusion that catches people: JetBrains has its own AI features, and they are a different thing.

What the plugin does, and what it doesn't

The plugin's job is narrow. Per Anthropic's JetBrains documentation, it runs the claude command in your IDE's integrated terminal and connects to it. It does not bundle its own copy of the CLI, so you install two pieces here.

What the connection gives you, as documented:

  • Quick launch. Cmd+Esc on Mac or Ctrl+Esc on Windows and Linux opens Claude Code from the editor. There is also a Claude Code button in the UI.
  • Diff viewing. Claude Code opens proposed changes in the IDE's diff viewer instead of the terminal.
  • Selection context. The current selection or tab in the IDE is shared with Claude Code automatically.
  • File reference shortcuts. Cmd+Option+K on Mac or Alt+Ctrl+K on Linux and Windows inserts references like @src/auth.ts#L1-99.
  • Diagnostic sharing. Claude can read the IDE's inspection diagnostics, such as lint and syntax errors, by calling a getDiagnostics tool. The docs say Claude Code doesn't request diagnostics from the plugin on its own after edits, so ask for them when you want them.

If you came from the VS Code extension, note what the list above leaves out: a separate graphical chat panel. The conversation stays in the terminal.

Which JetBrains IDEs are supported

The docs say the plugin works with "most JetBrains IDEs," and list IntelliJ IDEA, PyCharm, Android Studio, WebStorm, PhpStorm, and GoLand as examples. So the answers to "Claude Code IntelliJ," "Claude Code PyCharm," and "Claude Code WebStorm" are all the same plugin, installed in each IDE.

For other IDEs such as Rider or CLion, the docs' list says "including," not "only." Open the plugin's JetBrains Marketplace listing and check its compatibility data for your product and version. As of October 2026, that data shows 2024.2 as the earliest supported IDE version.

How to install it

Two steps, in this order.

1. Install the CLI. Follow Anthropic's quickstart, or our install guide for each platform. If claude isn't on your PATH, the plugin shows a "Cannot launch Claude Code" notification.

2. Install the plugin. Get the Claude Code plugin from the JetBrains Marketplace, then restart your IDE. You can do this from the listing, or from the IDE's plugin settings.

Then sign in. The docs say Claude Code works with any paid Claude subscription (Pro, Max, Team, or Enterprise) or a Claude Console account, and no API key is required. You're prompted to log in the first time you run claude.

The word "Beta" is in the name. The listing is called "Claude Code [Beta]," and the settings page uses the same label. Treat that as a real signal: the integration is documented and published by Anthropic, and it is also labelled beta.

If your IDE can't find the CLI, set the full path in Settings → Tools → Claude Code [Beta] under the Claude command field. The docs give claude, /usr/local/bin/claude, and npx @anthropic-ai/claude-code as examples of valid values.

How the connection works

There are two ways to get connected, and which one you use decides whether you get the features.

Where you start ClaudeWhat happens
In the IDE's integrated terminalRun claude and all integration features are active.
In an external terminalRun claude, then /ide. Claude Code connects to your JetBrains IDE and confirms with a message like "Connected to IntelliJ IDEA."

If /ide detects a running IDE that doesn't have the plugin, the docs say it installs the plugin for you and asks you to restart the IDE. If you want Claude to see the same files as your IDE, start it from your IDE project's root directory. We cover /ide and the other built-in commands in our slash commands guide.

Underneath, the plugin runs a local MCP server named ide. The docs describe a few details worth knowing:

  • It is hidden from /mcp because there is nothing to configure.
  • It listens on an OS-assigned port that you can't change, and each IDE start writes a fresh auth token to a lock file under ~/.claude/ide/.
  • Only one tool is visible to the model: mcp__ide__getDiagnostics, which is read-only. The docs state the JetBrains plugin does not expose a code-execution tool.

Selection context, and keeping files out of it

While connected, the CLI includes your current editor selection and the active file's path on each prompt you send. You'll see a line in the transcript such as ⧉ Selected N lines from <file> when that happens. If you queue a message while Claude is working, it keeps the selection you had when you pressed Enter.

For a file like .env, add a Read deny rule for its path. The docs say a matching deny rule stops both the selected text and the open-file notice for that file from reaching Claude. Our permissions guide explains how those rules work.

Diffs in the IDE

By default Claude's changes open in the IDE diff viewer. To change that, run claude, open /config, and set Diff tool to auto (diffs in the IDE) or terminal (diffs stay in the terminal). One catch: the Diff tool entry shows up in /config only when Claude Code is connected to the IDE. Connect first, then look for it.

Settings and keys worth knowing

The plugin's settings live under Settings → Tools → Claude Code [Beta]. As documented:

SettingWhat it does
Claude commandCustom command used to launch Claude
Suppress notification when Claude command isn't foundHides the "not found" notification
Use Option+Enter for multi-line promptsmacOS only; requires a terminal restart; turn it off if the Option key is being captured unexpectedly
Enable automatic updatesChecks for and installs plugin updates, applied on restart

If Esc doesn't interrupt Claude. JetBrains terminals can swallow the key. In Settings → Tools → Terminal, either uncheck "Move focus to the editor with Escape," or choose "Configure terminal keybindings" and delete the "Switch focus to Editor" shortcut. Apply, and Esc will interrupt Claude Code again.

Remote development and WSL

Remote Development. The docs include a warning: with JetBrains Remote Development you must install the plugin on the remote host through Settings → Plugin (Host), not on your local client machine.

WSL. For WSL users, the docs say to set the Claude command to wsl -d Ubuntu -- bash -lic "claude", replacing Ubuntu with your distribution name. If you're on WSL2 and see "No available IDEs detected," the docs say the usual cause is WSL2's NAT networking or Windows Firewall blocking the link between WSL2 and the IDE on the Windows host. WSL1 uses the host's network directly and isn't affected.

The documented fixes are:

  1. Allow WSL2 traffic through Windows Firewall. This is the recommended fix. Find your subnet from hostname -I inside WSL, then create an inbound firewall rule in an administrator PowerShell for that range. Restart the IDE and Claude Code.
  2. Switch WSL2 to mirrored networking. Set networkingMode=mirrored under [wsl2] in .wslconfig, then run wsl --shutdown. This needs Windows 11 22H2 or later.

There is also a plugin setting, Accept connections from all network interfaces, under Networking (Advanced). Leave it off if you can. With it on, the IDE port is reachable from your local network, and because the transport is unencrypted ws://, the session traffic and token cross the network in cleartext. The docs recommend mirrored networking over this switch.

A safety note for JetBrains users

The docs flag one JetBrains-specific risk. In acceptEdits permission mode, Claude Code may be able to modify IDE configuration files that the IDE runs automatically. That can let a change slip past Claude Code's own permission prompts for Bash. Their advice: use Manual mode for edits, only use trusted prompts, and know which files Claude can modify.

Claude Code plugin vs JetBrains AI Assistant

This is where people get confused, so here is the plain version. JetBrains describes its AI Assistant as a collection of AI-powered features and coding agents inside its IDEs: chat, in-editor generation and completion, and agents for multi-step tasks. It can be set up with a JetBrains subscription, your own API keys, provider accounts, or external agents.

AI Assistant also offers Claude Agent, which JetBrains calls a third-party coding agent by Anthropic. And JetBrains says directly that Claude Agent in AI Assistant is not related to the Claude Code [Beta] plugin, which it calls "a separate third-party plugin with a different scope and functionality."

Claude Code [Beta] pluginClaude Agent in AI Assistant
Where it comes fromPlugin published by Anthropic on the MarketplaceAn agent inside JetBrains' AI Assistant, which JetBrains documents as a third-party agent by Anthropic
How it runsThe claude CLI in the IDE terminal, bridged to the IDESelected in AI Chat inside the IDE
Sign-inPaid Claude plan or Console accountJetBrains AI subscription, an API key, or Anthropic Console
IDE contextSelection and active file path, shared automaticallyOpen file and selected text, toggled with an indicator in the chat field
Ignore filesRead deny rules block sharingJetBrains says .aiignore doesn't apply to Claude Agent

Which should you pick? If you already use Claude Code in the terminal, with its commands, settings, and habits, the plugin keeps all of that and adds IDE diffs and selection. If you want everything inside JetBrains' own chat window, AI Assistant is built for that. Neither is wrong; they are different products.

Where Taku fits

Taku is not an IDE plugin, and it doesn't replace JetBrains. It does solve a related problem: the setup step. You see someone's Claude Code workflow, with the right commands, configuration, and habits, and you spend a weekend failing to reproduce it. Taku is an AI-native desktop workspace where you mirror a working AI setup, run it, remix it, and keep it. If you live in an IDE and have the CLI working, you probably don't need it for this. If you're curious what a good setup looks like before building yours, it's a place to look. Taku is in Beta, and the Mac app is available now.

FAQ

Does Claude Code work in IntelliJ, PyCharm, and WebStorm?

Yes. Anthropic's docs list IntelliJ IDEA, PyCharm, Android Studio, WebStorm, PhpStorm, and GoLand as supported, and say the plugin works with most JetBrains IDEs.

Do I need the CLI as well as the plugin?

Yes. The plugin runs claude in the IDE terminal and doesn't bundle its own copy, so install the CLI first.

Why does the IDE say "Cannot launch Claude Code" or "command not found"?

claude isn't on the PATH your IDE sees. Check claude --version in a terminal, then set the full path in the plugin's Claude command setting. WSL users should use the wsl -d command format from the docs.

How do I connect an external terminal to my JetBrains IDE?

Start claude from your project root and run /ide. You should see "Connected to" followed by your IDE's name. If you see "No available IDEs detected," confirm the plugin is installed and enabled and restart the IDE completely.

Can I keep diffs in the terminal?

Yes. Open /config and set Diff tool to terminal. The setting appears only while Claude Code is connected to the IDE.

Is this the same as JetBrains AI Assistant?

No. JetBrains' own documentation says Claude Agent in AI Assistant is not related to the Claude Code [Beta] plugin. They are separate products with different scope and functionality.

The short version

Install the CLI, install the Claude Code [Beta] plugin, restart the IDE, and run claude in the IDE terminal. Use Cmd+Esc or Ctrl+Esc to launch it, Cmd+Option+K or Alt+Ctrl+K to reference files, and /ide when you start from an outside terminal. On remote hosts install the plugin on the host, on WSL2 fix the firewall or use mirrored networking, and keep Manual mode for edits.