Kotlinâs LSP Problem is Real
I wrote about The Kotlin Paradox last month. Back then, it was mostly theoretical: âIn an AI-driven future, Javaâs robust LSP might beat Kotlinâs nicer syntax.â It felt like speculation about a problem I foresaw.
Itâs not theoretical anymore. Iâm living it.
The Daily Grind
Hereâs my typical day: I have AI agents writing code across multiple worktrees. Theyâre doing the implementation while I architect and review. When I need to check something, I just want to click through the code.
Thatâs it. Go-to-definition. Find references. Basic navigation.
With IntelliJ, this works perfectly. Itâs a nice IDE, but it is too heavy for my task. Opening IntelliJ for each git worktree (is that even working now? There was a bug with git worktrees) is killing my productivity.
I donât want a full IDE. I want to open Helix, or Zed, or VS Code, navigate quickly, and close it.
The Remote Work Problem
It gets worse. A lot of my work happens in devcontainers or on remote boxes.
Open a full remote JetBrains session? Tried that, and 5GB of memory is gone, just to watch a few files. The process is also painful. I just want to hx . and browse to the file and check something. With all other options, I have to click through menus, to open a folder somewhere on the remote filesystem. With OpenCode and Claude Code, my work happens more and more in the terminal. Needing to leave the CLI, breaks my flow.
With Go or Python, Iâd just open Helix or VS Code Remote if I want a little more tools. The LSP connects, and Iâm navigating code within seconds. gd to jump to definition, gr to find references. It just works.
With Kotlin? I get a text file with pretty colors.
The Kotlin LSP situation is terrible. Jetbrains is working on one, but itâs pre-alpha and barely works.
The Agent Perspective
The AI agents (OpenCode, Claude Code) face the same problem. When Iâm working with Go or Python codebases, I see them using LSP features. Iâm not sure which features are used, but I do see error messages coming back. This allows for faster iteration, because the agent already sees the error, before needing to compile and wasting time waiting on the results.
The Breaking Point
I feel sad and frustrated. Kotlin is still a nice language, and a few months ago I was in camp: âUse an IDE to develop, not a text editor!â. But I donât write code by hand anymore. My agents do. And when I need to review, navigate, or verify, I need tooling that works outside the JetBrains ecosystem.
If I were starting a new project today, knowing what I know now about agentic workflows and the importance of universal tooling?
Kotlin wouldnât be my choice.
What Would Fix This
JetBrains, if youâre reading: the community needs a real Kotlin LSP. Not âpre-alpha.â Not âexperimental.â A proper language server that works in all editors and AI agents that support it.
Until that changes, every new project I start is going to be a harder sell for Kotlin. And I suspect Iâm not alone.
Related Articles
The Kotlin Paradox
Kotlin may be a nicer language, but Java might be the best choice when paired with AI. Here is why.
Demystifying the AI Agent
AI agents sound complex, but they're surprisingly simple. A system prompt, a few tools, and a model doing the real work. Here's what's actually under the hood.
2026: The Year the IDE Died
Steve Yegge says if you use an IDE in 2026, you're a bad engineer. From CNC machines to Vibe Coding, here is why we are facing a 'Swiss Watch Moment' in software engineering.