Claude Code gets native LSP support

(github.com)

149 points | by JamesSwift 4 hours ago

27 comments

  • spullara 1 hour ago
    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.
    • eterm 1 minute ago
      I completely agree. Likewise I'm amazed Microsoft hasn't done it themselves for Roslyn and Copilot. Roslyn analyzers are so incredibly powerful, and it's being ignored.

      An explainer for others:

      Not only can analyzers act as basic linters, but transformations are built right in to them. Every time claude does search-and-replace to add a parameter I want to cry a little, this has been a solved science.

      Agents + Roslyn would be productive like little else. Imagine an agent as an orchestrator but manipulation through commands to an API that maintains guard rails and compilability.

      Claude is already capable of writing roslyn analyzers, and roslyn has an API for implementing code transformations ( so called "quick fixes" ), so they already are out there in library form.

      It's hard to describe them to anyone who hasn't used a similarly powerful system, but essentially it enables transforms that go way beyond simple find/replace. You get accurate transformations that can be quite complex and deep reworks to the code itself.

      A simple example would be transforming a foreach loop into a for loop, or transforming and optimizing linq statements.

      And yet we find these tools unused with agentic find/replace doing the heavy lifting instead.

      Whichever AI company solves LSP and compiler based deep refactoring will see their utility shoot through the roof for working with large codebases.

    • parpfish 1 hour ago
      Jetbrainz needs to give up on Junie and their in house ai and focus on integrating with the established tools. If they don’t, VS code will consume them.
      • atombender 21 minutes ago
        They've already done that. After the Junie fiasco, they pivoted to "AI Assistant", where Junie is just another provider alongside Anthropic and OpenAI. In theory, you have Claude Code inside Jetbrains IDEs now.

        What's incredible is just how bad it works. I nearly always work with projects that mount multiple folders, and the IDE's MCP doesn't support that. So it doesn't understand what folders are open and can't interact with them. Junie the same issue, and the AI Assistant appears to have inherited it. The issue has been open for ages and ignored by Jetbrains.

        I also tried out their full line completion, and it's incomprehensibly bad, at least for Go, even with "cloud" completion enabled. I'm back to using Augment, which is Claude-based autocompletion.

      • dvtkrlbs 39 minutes ago
        They already kinda did. They brough ACP support which allows you to somewhat integrate Claude Code, Gemini CLI or OpenCode they also recently brought BYOK support so you can use an existing provider and don't pay extra subscription for it.
        • CuriouslyC 27 minutes ago
          ACP seems super under the radar. It has some support, but it got merged into A2A, which I don't hear anyone talking about, so it seems like it's going to die on the vine.
          • dbalatero 6 minutes ago
            This is really too bad, as editors should be able to plug and play with AI tooling in the same way that editors <> LSP can plug and play with language tooling.
          • dvtkrlbs 3 minutes ago
            I mean I tried Zeds implementation with OpenCode was working fine but yeah the whole standards part is really complicated right now. I can't keep track of it. I hear about A2A but did not know it was merged with ACP.
      • octopoc 1 hour ago
        I really enjoy Junie, I find it working better out of the box than Claude code. I do wish they integrated their amazing refactoring tools into it though.
    • anthonypasq 1 hour ago
      there is a jetbrains MCP server that gives Claude Code access to this sort of thing, but I think its still fairly jank and bloats context.
      • shermantanktop 42 minutes ago
        I never got it to work, but in the process of trying it became obvious that it’s an under-resourced feature.
    • vb-8448 44 minutes ago
      I think they are completely screwing up the AI integration.

      After years of JetBrains PyCharm pro I'm seriously considering switch to cursor. Before supermaven being acquired, pycharm+supermaven was feeling like having superpowers ... i really wish they will manage to somehow catch up, otherwise the path is written: crisis, being acquired by some big corp, enshitification.

      • spullara 16 minutes ago
        augmentcode has a great plugin for pycharm (and all jetbrains products) if you don't want to throw the baby out with the bathwater.
    • ch2026 22 minutes ago
      They wanted to, but they’re still waiting for the IDE itself to simply load.
    • dist-epoch 24 minutes ago
      People keep saying how amazing IntelliJ is at refactoring, but then you realize the talk about "rename thing" and "extract function".

      This is 5% of what refactoring is, the rest is big scale re-architecting code where these tools are useless.

      The agents can do this big scale architecturing if you describe exactly what you want.

      IntelliJ has no moat here, because they can do well 5% of what refactoring is.

  • brianyu8 1 hour ago
    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!

    • frays 53 minutes ago
      Interesting to see that you work at OpenAI but had to build a skill like this yourself.

      Surprised that you don't have internal tools or skills that could do this already!

      Shows how much more work there is still to be done in this space.

      • voiper1 35 minutes ago
        My theory is that even if the models are frozen here, we'll still spend a decade building out all the tooling, connections, skills, etc and getting it into each industry. There's so much _around_ the models that we're still working on too.
      • NitpickLawyer 30 minutes ago
        > Shows how much more work there is still to be done in this space.

        This is why I roll my eyes every time I read doomer content that mentions an AI bubble followed by an AI winter. Even if (and objectively there's 0 chance of this happening anytime soon) everyone stops developing models tomorrow, we'll still have 5+ years of finding out how to extract every bit of value from the current models.

      • shermantanktop 41 minutes ago
        Cobbler’s children…
      • Aiisnotabubble 41 minutes ago
        [dead]
    • shepherdjerred 1 hour ago
      Are you having a positive experience with Codex compared to Claude Code? Codex in my brief experience was... not good w/ 5.1
      • cube2222 1 hour ago
        Just to provide another datapoint - tried codex September / October after seeing the glowing reviews here, and it was, all in all, a huge letdown.

        It seems to be very efficient context-wise, but at the same time made precise context-management much harder.

        Opus 4.5 is quite a magnificent improvement over Sonnet 4.5, in CC, though.

        Re tfa - I accidentally discovered the new lsp support 2 days ago on a side project in rust, and it’s working very well.

        • allisdust 1 hour ago
          Another anecdote/datapoint. Same experience. It seem to mask a lot of bad model issues by not talking much and overthinking stuff. The experience turns sour the more one works with it.

          And yes +1 for opus. Anthropic delivered a winner after fucking up the previous opus 4.1 release.

  • dvtkrlbs 41 minutes ago
    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/

    • jwr 21 minutes ago
      I must be doing something wrong, because I can't get OpenCode to actually do anything useful, and not for lack of trying. Claude code gets me great results instantly, opencode (if I can't make it talk to a model, which isn't easy for Gemini) gets me… something, but it's nowhere near as useful as claude code. I don't know why there is so much difference, because theoretically there shouldn't be. Is it the prompt that Anthropic has been polishing in Claude code for so long?
      • dvtkrlbs 4 minutes ago
        I only played with Claude Code briefly but my experience with OpenCode was amazing. My experience it works the best with Claude especially Sonnet models (I use it with Claude Sonnet 4.5 with my Copilot subscription).
    • resize2996 27 minutes ago
      tbf, OpenCode's development cycle seems pretty fast. If someone announced AGI in the morning, I'd bet they have it integrated by EOD.

      I also use OpenCode extensively, but bounce around to test out the other ones.

      • troyvit 22 minutes ago
        I just started playing with OpenCode over the weekend after working with aider and aider-ce, and I like a lot of things about it, though I miss some aider features. What other code helpers have you worked with?
    • kbar13 28 minutes ago
      i'm not sure i agree with the assessment that claude code has been moving slowly... but it is cool that opencode has had this for a while. will def check it out
  • Lerc 1 minute ago
    Does this mean Claude Code can be a consumer of this information or a provider?

    Maybe whynotboth.gif?

  • CharlesW 2 hours ago
    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!

    • JamesSwift 1 hour ago
      Yeah, I posted here because I was completely blindsided when my claude asked if I wanted to install a go lsp. I didnt even know that was a thing. A little googling led to this changelog from 3 days ago, but I was surprised I hadnt seen any previous mentions of this online (from either creators, anthropic, or HN posts).

      I am disabling it for now since my flow is fine at the moment, I'll let others validate the usefulness first.

      • bredren 43 minutes ago
        I got an unexpected offer to install the LSP plugin for swift-lsp at 6:30pm pst on 12/19pm and again yesterday afternoon the text reads:

        LSP Plugin Recommendation

        LSP provides code intelligence like go-to-definition and error checking

        Plugin: swift-lsp

        Swift language server (SourceKit-LSP) for code intelligence Triggered by: •swift files

        Would you like to install this LSP plugin? › 1. Yes, install swift-lsp 2. No, not now 3. Never for swift-lsp 4. Disable all LSP recommendations

    • Maxious 1 hour ago
      If you want to add custom lsps, they need to be wrapped in a Claude code plugin which is where the little bit of actual documentation can be found https://code.claude.com/docs/en/plugins-reference
    • bicx 1 hour ago
      Thanks! I saw typescript-lsp in the plugins list, but I wasn't sure if that was related.
    • kasey_junk 1 hour ago
      Have you figured out what triggers it?
  • anthonypasq 1 hour ago
    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.

    • ramoz 1 hour ago
      I just saw a video of non-technical person describing how they use claude code to automate various workflows. They actually tried vscode and then the desktop gui.

      Yet they preferred the CLI because it felt "more natural"

      With agents, and Claude Code, we are *orchestrating* ... this is an unresolved UI/UX in industry. The same reasons `kubectl` didn't evolve to GUI probably apply here.

      It's less about the codebase, more about the ability to conduct anything on the computer - you are closest to that in the terminal. https://backnotprop.com/blog/its-on-your-computer/

    • nextaccountic 1 hour ago
      What IDE agent gets access to LSP?

      I use Zed and unless there is some MCP server that provides the same thing as the LSP server, the Zed agent won't have access, even though it's in an IDE that supposedly has this information

      • joshuacc 13 minutes ago
        Cursor, Copilot, Roo Code, Cline, among others.
      • anthonypasq 1 hour ago
        cursor
  • jwr 19 minutes ago
    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.
  • ttoinou 11 minutes ago

      Added gift tag pictogram for year-end promotion message
    
    What's that? We all want a promotion on Claude Code!
  • ramoz 1 hour ago
    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
  • mmaunder 47 minutes ago
    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
  • mrinterweb 56 minutes ago
    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.
  • vorticalbox 2 hours ago
    My favourite agent crush[0] has lsp support for a while.

    I’ve not noticed the agent deciding to use it all that much.

    [0] https://github.com/charmbracelet/crush

    • esafak 1 hour ago
      Did it make no difference when you mentioned in your AGENT.md which LSP servers are installed?
      • tonyhart7 1 hour ago
        I guess supporting tool call natively would improve read token efficiency since they can just run the tool directly
  • paxys 1 hour ago
    So they moved coding AIs from the IDE into a standalone CLI and now are building an IDE around the CLI?
  • stared 1 hour ago
    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).

  • CameronBanga 1 hour ago
    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.
    • Arubis 1 hour ago
      Depends on your installation method. I have CC installed on macOS with `bun install` and it self-updates. But you could have different results with, oh, npm or yarn or homebrew or nix or probably asdfvm or maybe there’s a native .pkg I don’t know about or…you get the idea.
    • fahrradflucht 1 hour ago
      I have the same issue since for ever (and update by hand because of it). I always assumed it is because it gets confused by me using Volta for node/npm version management and Volta‘s shim masking where Claude Code is globally installed.
    • cube2222 1 hour ago
      Yeah, I uninstalled and reinstalled with homebrew, and it’s working well now.
    • fabbbbb 1 hour ago
      Always have a lot of sessions running locally and don’t recall this
    • mokkol 1 hour ago
      Uninstall it and install it via home brew fixed it for me.
  • hexsprite 1 hour ago
    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.
  • sathish316 1 hour ago
    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?
    • teaearlgraycold 50 minutes ago
      A big use case will be to tell the LLM what the type of an expression is.
  • colonCapitalDee 1 hour ago
    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 :)
  • behnamoh 1 hour ago
    I mean, OpenCode has had this feature for a while: https://opencode.ai/docs/lsp/
    • jarjoura 1 hour ago
      It's a shame that my company tied itself to claude-code way too fast. It was like a single week last summer of, "oh what's everyone's favorite? claude? okay, let's go!"

      OpenCode has been truely innovating in this space and is actually open source, and would naturally fit into custom corporate LLM proxies. Yet, now we've built so many unrulely wrappers and tools around claude-code's proprietary binary just to sandbox it, and use it with our proxy, that now I fear it's too late to walk back.

      Not sure how OpenCode can break through this barrier, but I'm an internal advocate for it. For hobby projects, it's definitely my goto tool.

    • gempir 54 minutes ago
      OpenCode is so underrated.

      One of my favorite features is that you can run it as a server, and then it has a API and SDKs to manage sessions etc.

      Great to build a centrally managed agent for your team.

  • octopoc 1 hour ago
    Seems like SCIP would be a better fit, although not as widely supported by languages I suppose.
  • oofbey 27 minutes ago
    I should know this, but what's LSP? Language Server Protocol - I can read. But what's that?
  • Havoc 1 hour ago
    What does the terminal integration mentioned do?
  • jedisct1 45 minutes ago
    Doesn't seem to work with Zig?
  • jama211 1 hour ago
    I’m curious what the benefit of this is over running away, cursor ide with the Claude agent?
  • nextworddev 1 hour ago
    It’s breathtaking how fast Anthropic / Claude Code team ships.

    They are definitely coding in a LLM maximalist way, in a good way.

    • reilly3000 1 hour ago
      I came here just to say that. The commit history on that changelog blew me away.
  • behnamoh 1 hour ago
    No Python LSPs yet!
    • simlevesque 52 minutes ago
      There's pyright-lsp. Isn't this a Python LSP ? or is it lacking important features ?
  • 1123581321 1 hour ago
    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?

    • ascorbic 24 minutes ago
      The same reason you want an LSP in your editor: so you get inline docs and error messages, autocomplete, jump to definition, refactoring actions etc.
    • esafak 1 hour ago
      Your test suite and linter don't code. They don't help your agent look up definitions of variables, etc.
      • 1123581321 1 hour ago
        Ah, it's about making language documentation available, and making crawling the app for understanding cheaper/more direct?
        • esafak 1 hour ago
          It's like making your IDE available to them.