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
Been pretty happy with it so far!
It's strangely difficult to find official information about this, but here's what I've learned:
• 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!
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.
[1]: https://opencode.ai/
I literally said this three days ago: https://hachyderm.io/@ed_blackburn/115747527216812176
But in all seriousness, LLMs have their strengths but we’re all wasting tokens and burning the planet unnecessarily getting LLMs to work so inefficiently. Use the best tool for the job; make the tools easier to use by LLMs. This mantra is applicable generally. Not just for coding.
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?
Pretty sure Cursor has had this for a while.
LSPs should expose their api through shell commands - then integrating it with any LLM would be trivial. And it would also be very useful for humans.
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 callsMy favourite agent crush[0] has lsp support for a while.
I’ve not noticed the agent deciding to use it all that much.
As far as I know Claude models in VSCode + GitHub Copilot have had this for months now.
Added gift tag pictogram for year-end promotion message
What's that? We all want a promotion on Claude Code!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
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.
So they moved coding AIs from the IDE into a standalone CLI and now are building an IDE around the CLI?
No rename symbol? What am I missing? It seems like a no brainer.
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'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.
Is there a way to automatically run tests every file change, like post tool somehow, so that it returns a concise test run back to the LLM every tool use? That seems like it would be useful.
If you want to explore the ecosystem of Claude Code plugins, see https://claude-plugins.dev/
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.
Does this mean Claude Code can be a consumer of this information or a provider?
Maybe whynotboth.gif?
Can you do @ and refer to a method or variable in a file with lsp support? Otherwise, how can lsp context be used in Terminal chat?
Great news. I was just starting to explore creating a goto-definition skill for CC, glad I don't have to figure that out now :)
Seems like SCIP would be a better fit, although not as widely supported by languages I suppose.
OpenCode had this for a while and overall has better and nicer TUI. Having said that, for same models, especially with LSP, some fancy MCPs, mgrep, has been doing really bad job lately for me. Not sure why. I expect it will be resolved soon. Otherwise very happy with it.
Claude Code is also solid and this is welcome improvement.
I mean, OpenCode has had this feature for a while: https://opencode.ai/docs/lsp/
Serious question, does this mean it will support Roslyn? Or will they "bake their own" version?
It’s breathtaking how fast Anthropic / Claude Code team ships.
They are definitely coding in a LLM maximalist way, in a good way.
I’m curious what the benefit of this is over running away, cursor ide with the Claude agent?
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 should know this, but what's LSP? Language Server Protocol - I can read. But what's that?
Doesn't seem to work with Zig?
The only reason I paid my yearly JetBrains subscription this year was to keep my lower price locked-in. I've been using VS Code all year. I won't renew my JetBrains subscription that I've had since 2009. Sad.
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.