Claude Code gets native LSP support

(github.com)

141 points | by JamesSwift 3 hours ago

26 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.
    • 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 12 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 31 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 18 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.
      • 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.
    • ch2026 14 minutes ago
      They wanted to, but they’re still waiting for the IDE itself to simply load.
    • 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 33 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 36 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 7 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.
    • dist-epoch 16 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 45 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 26 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 21 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 32 minutes ago
        Cobbler’s children…
      • Aiisnotabubble 32 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 32 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 13 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?
    • resize2996 18 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 14 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 20 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
  • CharlesW 1 hour 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 34 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?
  • ttoinou 2 minutes ago

      Added gift tag pictogram for year-end promotion message
    
    What's that? We all want a promotion on Claude Code!
  • jwr 10 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.
  • 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 55 minutes 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 55 minutes 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 5 minutes ago
        Cursor, Copilot, Roo Code, Cline, among others.
      • anthonypasq 54 minutes ago
        cursor
  • mmaunder 39 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
  • 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
  • mrinterweb 47 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 1 hour 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 42 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 :)
  • octopoc 1 hour ago
    Seems like SCIP would be a better fit, although not as widely supported by languages I suppose.
  • 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 46 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.

  • oofbey 19 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 37 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 44 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 16 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.