← all posts
// tooling · jetbrains

JetBrains ships IntelliJ as an LSP: Java and Kotlin intelligence inside VS Code, Cursor, and agents

On August 5 JetBrains published a preview extension called Java & Kotlin by IntelliJ IDEA for VS Code and its forks, Cursor included. It is not a syntax highlighter with a JetBrains logo. It ships the IntelliJ engine as a language service: smart completion, navigation, code analysis, refactorings, debugging over DAP, and project models for Maven, Gradle and Bazel. During the preview it is free, with every new build resetting a 30-day evaluation. After the preview it requires an IntelliJ IDEA Ultimate subscription. The pure-Kotlin LSP stays free under Apache 2.0.

What is actually in the box

The distinction JetBrains is drawing is between the editor and the intelligence. The editor is VS Code or Cursor. The intelligence is the thing that knows a Kotlin extension function resolves through a receiver type, that a Gradle multi-module project has a dependency graph, that a rename touches four files, and that a breakpoint in a coroutine needs the right frame. That layer has always been the reason people paid for IntelliJ. Now it is a process you can attach to any editor that speaks the protocol.

Two audiences are named. The first is developers who live in VS Code or Cursor but work on JVM codebases and have been living with worse Java support than the language deserves. The second, more interesting one, is terminal agent flows: Claude Code, Codex and their kind. JetBrains explicitly pitches reduced token consumption for agents, and the mechanism is easy to see. An agent that can ask a language server who calls this method gets a precise answer in a few hundred tokens. An agent without one greps the repository and reads files until it is confident, which can be tens of thousands of tokens and still wrong.

Why this is a strategy change, not a feature

JetBrains has spent decades arguing that the IDE is the product. This extension concedes that for a growing share of work the editor is a commodity and the semantic engine is not, so it sells the engine separately. The subscription is still Ultimate; the entitlement just no longer requires you to open IntelliJ.

The moat was never the editor window. It was the resolver behind it, and JetBrains just put a price on the resolver alone.

For plugin authors this reshapes the choice. If you build an IntelliJ plugin, your market is IntelliJ users. If you build a language service or an agent tool that talks to the IntelliJ LSP, your market is everyone with an Ultimate licence, in any editor, plus every coding agent that can be pointed at a language server. The second market is larger and it is the one JetBrains is now investing in. The same logic runs inside JetBrains' own agents: AIR and Junie both sit on top of this engine, and the LSP route lets a third-party agent reach the same intelligence they use.

What to do with it this month

  • Point Claude Code or Codex at it on a JVM repo and measure token use per task before and after. If JetBrains' claim about reduced consumption holds, it shows up in your invoice within a week.
  • Compare against Cursor's default Java support on a real refactoring, not a hello world. Cross-module renames and Gradle source sets are where cheap language support falls over. My notes on the editor side are in Cursor vs VS Code Copilot.
  • Check the licence maths. Free now; Ultimate after preview. If your team is on Community or a different editor, the extension becomes a paid line item at the end of the preview.
  • If you maintain a plugin, ask whether the feature belongs inside IntelliJ or in a service that any editor and any agent can call. The answer changed on August 5.

The honest gap

This is a preview, and JetBrains has said what it does but not what it costs at scale or how stable the LSP surface is across builds. The reduced token consumption claim comes with no numbers from JetBrains, and I have not yet measured it on a large Gradle monorepo, where the language server's own startup and memory footprint could eat some of the savings. The direction is clear; the accounting is still to be done.

#jetbrains#lsp#cursor#java