That works, but even after installing the plugin, it doesn't seem to run the language server itself, so it doesn't seem to do anything in the terminal version of claude-code.
I'd be disappointed if this were a feature only for the vscode version.
This is an ignorant question, but, what is the benefit of this if you also have your project open in an editor or IDE (presuming they integrate language server?)
If you're vibe coding without an editor, would this have any benefits to code quality over a test suite and the standard linter for a language?
I am super bullish on claude code / codex cli + LSP and other deterministic codemod and code intelligence tools.
I was playing around with codex this weekend and honestly having a great time (my opinion of it has 180'd since gpt-5.2(-codex) came out) but I was getting annoyed at it because it kept missing references when I asked it to rename or move symbols. So I built a skill that teaches it to use rope for mechanical python codebase refactors: https://github.com/brian-yu/python-rope-refactor
I've had a number of occasions where claude (et al.) have incorrectly carried out a task involving existing code (e.g. create a widget for foo, following bar's example). In these cases the way I would have done it would be to copy said existing code and then modify the copied code. I've always wondered if they should just be using copy tool (even just using xclip) instead of using context.
I haven't come across a case where it has used the LSP yet.
Opus 4.5 is fairly consistent in running QA at proper times. Lint checks and all are already incorporated into a standard & native processes outside of IDE. I think lookup can be useful when definitions are hidden deep in hard to reach places on my disk... hasn't been a problem though the agent usually finds what it needs.
Anyway, here is what it stated it could do:
> Do you have access to an lsp tool?
Yes, I have an LSP tool with these operations:
- goToDefinition - Find where a symbol is defined
- findReferences - Find all references to a symbol
- hover - Get documentation/type info for a symbol
- documentSymbol - Get all symbols in a file
- workspaceSymbol - Search for symbols across the workspace
- goToImplementation - Find implementations of an interface/abstract method
- prepareCallHierarchy - Get call hierarchy item at a position
- incomingCalls - Find what calls a function
- outgoingCalls - Find what a function calls
With a fair disclaimer, that it is very easy to vibe-code a skill oneself, with both pros (you can create one just for you!) and cons (if you look online, these are of any quality, quite a few with some hard-coded versions or practices).
Maybe I'm the only one, but does anyone else have an issue on macOS where Claude Code never updates itself automatically and you always have an error? I guess it's in times when I leave the CLI tool running and an update comes in overnight. But the alert seems to indicate it should update and fails.
I really can't understand why JetBrains hasn't integrated its refactoring tools into the AI system. Really missed the boat on making their platform transformational for AI coding. Imagine how much smaller the context would be for a tool that renames a function than editing hundreds of files. This LSP support is a good start but without the mutation functions it is still pretty lackluster. Plus LSPs aren't as good as JetBrains generally.
It really does feel like the Innovator's Dilemma playing out for JetBrains. They have the best semantic understanding of code (PSI) locked away in their proprietary engine, but they seem too attached to the traditional "human-driving-the-IDE" paradigm.
Tools like Claude Code (and Cursor) are treating the editor/CLI as a fluid canvas for the AI, whereas JetBrains treats AI as just a sidebar plugin. If they don't expose their internal refactoring tools to agents soon, the friction of switching to VS Code/CLI becomes negligible compared to the productivity gains of these agents.
I’ve been a JetBrains toolbox subscriber for over a decade. I used to run trainings for new hires to get them up to speed on the eco system as our team would provide licenses. I say all of this because I was about as fanboy as you could get for them.
They’ve dropped the ball over the past five years. Part of me thinks it was the war in Ukraine that did them in. The quality of tooling and the investment in Fleet and AI slop was the death nell for me. I was slated to renew at the grandfathered price on the 17th and decided to let my subscription lapse this year because the value prop just isn’t strong enough anymore.
I am trying my damn hardest to drop jetbrains, the only thing they have a stronglehold over is their amazing rust analyzer in rustrover. And yah I agree that they are dropping the ball on providing actual intellisense to AI tools, like why not? It's probably less than 10 lines of code.
Jetbrains is unforgivable for missing the remote development train. People have been developing on remote huge machines for decades. It’s just the ones who did either were terminal wizards, or they were using hacks to make their IDEs tolerable.
VSCode just scooped up that market with their remote development plugin. And it did not matter that it is an electron app. Still faster than Jetbrains.
They’ve also dropped a huge ball with resisting LSP for Kotlin, thinking that they could lock developers into their ecosystem. Well, now (hopefully) it is too late, karma is a b*tch.
> I really can't understand why JetBrains hasn't integrated its refactoring tools into the AI system.
Because their refactoring tools are not a "slap on a couple of commands and delegate actual work to external code" like LSP? Because their tools are a huge collection of tools deeply integrated into the IDE? Including custom parsers, interpreters and analysers?
It's interesting that everyone is saying "please don't shove AI down our throat!". But when a company actually takes this approach (JetBrains IDEs treat AI just as a tool at the sidebar), everyone is like "JetBrains is doomed because it's not agent-native enough."
Jetbrains+refactoring - don’t get your hopes up. In Android Studio refactoring was broken for 5+ years and ticket is one of most voted. And nothing happened.
Shameless repost - I'm so sad that JetBrains seems to be floundering. VS Code still doesn't match it in little "oh my gosh, how did it know I wanted that" moments, but the whole JB experience is now just so clunky, especially in a modern WSL2/poly-lang env.
can't speak for other languages, but the python LSP in PyCharm is miles ahead of any other lsp out there (and I've tried them all). I give `ty` the best chance of catching up to them, but they're still a ways behind.
I bought the JetBrains AI last year to support them even though it wasn’t good. It never improved. I didn’t renew. Now, I’m questioning if their tooling is something I’ll even renew at all. All of these AI agents integrate so well into visual studio code…
Yes. It is so easy and cheap to refactor in a strongly typed language--no AI needed. And such a waste of electricity, chips, water and money to let some AI model give it a shot. This something we could reliable and correctly do for decades with serious tools and languages.
To this day people still 'refactor' by doing string replacement and hoping for the best. Any serious IDE should just say no to that.
Fortunately, Serena has recently been extended to use JetBrains instead of LSP (via a plugin), solving exactly this issue. LSP will never be as good as JetBrains' parsers.
The typescript-lsp (and others?) is missing a critical part of LSPs whcih is the diagnostics for real-time errors and warnings. So you still need to run a linter, tsc, etc. to generate those sadly.
I find it so weird that people are so bullish on the CLI form factor when they are literally just adding functionality that IDE based agents get for free. Stuff like improved diff tools and LSP support in the terminal instead of idk... just using a GUI/IDE?
I was hoping LSP support would be implemented. I know there are existing MCP servers that can do something kind of similar, but I doubt the agent would be smart enough to consistently utilize the LSP MCP. Here's hoping for less greps.
Amazing how long this took. Serena has been doing a not bad job of helping solve this issue. But this has been an obvious built in for agents for some time now. https://github.com/oraios/serena
What boggles my mind is. I've been using OpenCode [1] which had this future for at least 6 months. I sometimes baffled by the slow progress of closed source software. Also highly recommend OpenCode you can also use it with your Claude subscription or Copilot one.
preferring open source and provider agnostic tools, i really want to like OpenCode. i used it exclusively for months, but sadly it has major usability issues which switching to Claude Code solved:
- accidental approvals when trying to queue a prompt because of the unexpected popovers
- severe performance issues when pending approval (using 100% of all cores)
- tool call failures
having used Crush, OpenCode, aider, mistral-vibe, Gemini CLI (and the Qwen fork), and Claude Code, the clear winner is CC. Gemini/Qwen come in second but they do lose input when you decline a requested permission on a tool call.
that said, CC also has its issues, like the flickering problem that happens in some terminals while scrolling executed command output.
One answer to questions like this is that Claude Code has orders of magnitude more paying users, so it's more important to get things right and ship carefully
I've been using https://github.com/isaacphi/mcp-language-server to do pretty much the same thing for quite a while now in Claude code. And it works with clojure-lsp unlike the limited set of plugins available now.
84 comments
[ 0.24 ms ] story [ 92.0 ms ] threadI’ve not noticed the agent deciding to use it all that much.
[0] https://github.com/charmbracelet/crush
• Use `/plugin` to open Claude Code's plug-in manager
• In the Discover tab, enter `lsp` in the search box
• Use `spacebar` to enable the ones you want, then `i` to install
Hope that helps!
I'd be disappointed if this were a feature only for the vscode version.
If you're vibe coding without an editor, would this have any benefits to code quality over a test suite and the standard linter for a language?
They are definitely coding in a LLM maximalist way, in a good way.
I was playing around with codex this weekend and honestly having a great time (my opinion of it has 180'd since gpt-5.2(-codex) came out) but I was getting annoyed at it because it kept missing references when I asked it to rename or move symbols. So I built a skill that teaches it to use rope for mechanical python codebase refactors: https://github.com/brian-yu/python-rope-refactor
Been pretty happy with it so far!
Opus 4.5 is fairly consistent in running QA at proper times. Lint checks and all are already incorporated into a standard & native processes outside of IDE. I think lookup can be useful when definitions are hidden deep in hard to reach places on my disk... hasn't been a problem though the agent usually finds what it needs.
Anyway, here is what it stated it could do:
With a fair disclaimer, that it is very easy to vibe-code a skill oneself, with both pros (you can create one just for you!) and cons (if you look online, these are of any quality, quite a few with some hard-coded versions or practices).
Tools like Claude Code (and Cursor) are treating the editor/CLI as a fluid canvas for the AI, whereas JetBrains treats AI as just a sidebar plugin. If they don't expose their internal refactoring tools to agents soon, the friction of switching to VS Code/CLI becomes negligible compared to the productivity gains of these agents.
They’ve dropped the ball over the past five years. Part of me thinks it was the war in Ukraine that did them in. The quality of tooling and the investment in Fleet and AI slop was the death nell for me. I was slated to renew at the grandfathered price on the 17th and decided to let my subscription lapse this year because the value prop just isn’t strong enough anymore.
VSCode just scooped up that market with their remote development plugin. And it did not matter that it is an electron app. Still faster than Jetbrains.
Because their refactoring tools are not a "slap on a couple of commands and delegate actual work to external code" like LSP? Because their tools are a huge collection of tools deeply integrated into the IDE? Including custom parsers, interpreters and analysers?
https://news.ycombinator.com/item?id=45846798
To this day people still 'refactor' by doing string replacement and hoping for the best. Any serious IDE should just say no to that.
https://github.com/oraios/serena#the-serena-jetbrains-plugin
Pretty sure Cursor has had this for a while.
So until it manages to do that, I’ll keep being bullish on what works.
[1]: https://opencode.ai/
- accidental approvals when trying to queue a prompt because of the unexpected popovers - severe performance issues when pending approval (using 100% of all cores) - tool call failures
having used Crush, OpenCode, aider, mistral-vibe, Gemini CLI (and the Qwen fork), and Claude Code, the clear winner is CC. Gemini/Qwen come in second but they do lose input when you decline a requested permission on a tool call.
that said, CC also has its issues, like the flickering problem that happens in some terminals while scrolling executed command output.