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.
Jetbrains seems a bit lost these days. Look at that very recent screw up [0].
I thought about moving after 10+ years when they abandoned the commit modal, and jacked up the plan prices, but I barely understand how to commit things in Vscode anyway. Let's see in 2026.
The commit workflow was what kept me locked in to the ecosystem for so long. LazyGit was so good that it convinced me I didn’t need JetBrains anymore. If you love the workflow with JB for commits check out LazyGit. It’s a TUI so you can use it in any editor without much friction.
Remember what? That people have different preferences, workflows and methods of staying productive?
Someone voiced that they liked a certain tool for a certain feature and suddenly we are judging them for it? I like that people share their thoughts and opinions.
I do almost everything git manually at the CLI. But the Jetbrains IDEs have a fantastic GUI git merge tool, and I also like the local git diff UI. Add in integrated blame mode, ability to pull up version-diff files, and that sort of thing.
It's not part of my daily driver toolbox, but they do get used a lot by me.
Exactly. There's a lot of little niceties buried in the integration across the board. I'm convinced that many VSCode supporters have never used a true IDE because whenever I complain about VSCode's shortcomings I'm met with "why would you want that?". Sure, but this git example is a great one because for most of it I *don't* want it, but there's a lot of related bits that I *do* want.
I'm a bit mixed, as I really appreciate the balance that VS Code has brought to the table and even with that feel there's sometimes too much in the base install. JetBrains is definitely better than VS proper in a lot of ways though. I still have nightmares of using VS for web projects, it's not nearly as bad today but I still completely avoid it.
It's the only git operation I do with a gui. But as I said elsewhere, there are a lot of little integrations I do make use of. For instance I find it helpful to have git blame up on the side when editing a file.
I almost always operate in my own feature branch, squashing and then rebasing along the way... sometimes I'll just keep amending my feature commit as I work. I find it just saves me a lot of pain along the way.
It allows you to do stuff so much faster than having to type everything manually into the terminal. Also really enjoy the "Undo Last Commit" feature and how I can easily see all modified files at once and shuffle around stuff between the staging area.
Honestly, the git implementation in PyCharm is better than any git app I've used, including lazygit (which I like and is my go-to when not in PyCharm).
Graphical interface won't work well inside WSL, that's why I dropped my subscription on GitKraken and start using lazygit. lazygit simply works in almost any environment, and it works extremely well even if you are not into terminal stuff.
Yeah, that’s the power of TUI. I would probably give it a go, too, but Git Cola works for me on Linux and Mac without too many issues.
(By “works anywhere”, I meant you can use it with any IDE or editor, or just run it from terminal, though it is cross-platform and should work on Windows, just not sure how well it would play with WSL.)
Really? While there its certainly slightly annoying because they have the "double menu bar" if they use a non-standard one like the jetbrains ides do... I feel like wsl gui support has essentially become a "solved issue" for a while now.
Yes and no, GitKraken actually have a graphical interface for WSL (or Linux generally), but it is barely usable as the WSL-g does not really work well. It's blurry for Hi-Res screen and the performance is like hell.
I would never try running any graphical stuff in WSL anymore, not worth it. VMWare with a graphical installation of any Linux system would be a preferred choice as I'm testing lately.
Fortunately JB broke that addiction for my by first moving the commit dialog behind an option, and then removing it completely. If I have to learn a new workfrow, I might as well learn a new tool
I mostly rely on the CLI for my git operations anyway. It does make it hard to support others who are using the tools (VS/code/jetbrains, etc) though, since I don't really "get" the workflows in the GUI tools at all.
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.
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.
Yeah, it's quite odd that they can't get AI tools to work, especially considering so many OSS tools available that work surprisingly well (cline, opencode, etc.).
How do these compare? I'm very familiar with Augment and particularly enjoy its fast completions. I mostly don't use its agent, but rather Claude Code in the terminal, because the agent seems superior.
But Augment is not the most stable. I've had lots of serious problems with it. The newest problem that's pushing me over the edge is that it's recently have been causing the IDE to shoot up to use all cores (it's rare to see an app use 1,000% CPU in the macOS Activity Monitor, but it did it!) when it needs to recompute indexes, which is the only thing that has ever made my M2 Mac run its fan. It's not very reliable generally (e.g. autocompletions don't always appear), so I'd be interested in trying alternatives.
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.
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.
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.
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.
My beef with zeds implementation is they haven’t kept it up to date. I really like the ide integration but when you don’t support half the things that make Claude code really nice, like hooks, it kinda defeats the purpose
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.
I can’t speak for Claude, but Gemini is laughably bad. Like, does someone who develop this shit ever tried to use it? Is it all crab hands that only use mouse? It’s a single line change to switch focus to THE ONLY INPUT on a tool window, but no, you have to use a shortcut to switch to Gemini window and then MOVE YOUR MOUSE across the screen to select input or press tab like 5 times. Embarrassment.
VSCode? Select AI view via shortcut or CMD + P and you’re done. That’s how you do it.
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.
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.
When you become complacent and your ego isn’t checked, you think you have the hottest thing. Hubris is hard. They had a pretty big moat that they let vscode eat away at. I don’t think they saw any of this coming and are struggling to make sense of it.
I've been a massive JetBrains fanboy for a bit over a decade. I finally let my subscription lapse this month. It isn't so much about AI integrations but overall competitors have caught up. The rise of LSP and DAP did a lot to shrink their competitive advantage
I heard really good things about Zed, lol. I’m with you. I canceled my jetbrains subscription a couple years ago and I have no intention of returning. They have been superseded and are no longer a relevant company. AI has made them obsolete.
So many salty fools who bought into “professional|enterprise grade ide” cool aid. Glad to see upstarts eating their lunch, they’ve been complacent for far too long.
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…
Being a JetBrains customer lately feels like watching everybody else race by in their cars while your horse is trying to eat the carrot in a grocery store ad on the side of a bus stop
I get it, horse, you're confused, but we got places to go.
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.
In a similar vein, I really struggle to understand why copilot is so crap when writing SQL and I'm connected to the database. The database has so much context (schema names, column names, constraints etc.) yet copilot regularly hallucinates the most basic stuff like table and column names, which standard auto complete has managed fine for the last 20+ years.
No one is interested to solve hard problems. The broad industry got lucky with LLMs and everyone is now blindly burning capital at this. If you think they can't be that stupid remember the covid super hiring frenzy.
Heh, read The Big Short. A large point of the book is that a lot of rich people are both greedy (which we already assumed) and also stupid (which we didn't assume).
It was code-named to disambiguate it from the old compiler. But Roslyn is almost 15 years old now, so I can't call it new, but it's newer than the really legacy stuff.
It essentially lets you operate on the abstract snytax tree itself, so there is background compilation that powers inspection and transformation.
Instant renaming is an obvious benefit, but you can do more powerful transformations, such as removing redundant code or transforming one syntax style into another, e.g. tranforming from a Fluent API into a procedural one or vice-versa.
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.
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.
Hi! I’m from the RustRover team. RustRover is a full-blown IDE, not just a code analysis engine like rust-analyzer.
In addition to Rust code analysis, RustRover provides many features, including code linting, code formatting, dependency management (Cargo.toml editing), UI debugging, support for web technologies and databases, and AI support (including an agentic approach with Junie).
Comparing code analysis capabilities themselves is quite difficult, because Rust is a very complex language, especially when it comes to implementing IDE-level support. Features such as macros make this even more challenging. RustRover and rust-analyzer use different approaches to solving these problems, and we also share some components. Of course, neither approach is perfect. Depending on the specific project, the developer experience may vary.
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.
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 are shoving it down our throats though, I have to uninstall their AI plugin after every IDE update, CoPilot suddenly stopped working? Oh, it's because JetBrains has enabled their AI auto-completion feature and it's broken CoPilot.
They've tried to play it both ways. Not AI enough for the AI fanboys, but want to keep a toe in there for everyone else. They'd be better placed rejecting AI entirely, and then when the bubble pops they'll be well positioned to sweep in and eat VSCode's lunch with a product that actually works.
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.
You joke and folks downvote, but this is my biggest issue with WebStorm. I'm seriously considering switching for the first time in 16 years. Zed is quite snappy. The Claude Code integration in VS Code is brilliant. I've used the CLI in the JetBrains terminal. I had no idea I could revisit past conversations until I used the VS Code extension!
Zed is snappy in the same way that notepad ++ is snappy: If you don't support 10% of language features you can avoid the hard work. Unfortunately this means that non trivial projects have false positive errors everywhere.
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.
I'm biased (work at Cognition) but I think it's worth giving the Windsurf JetBrains plugin a try. We're working harder on polish these days, so happy to hear any feedback.
I have running subscriptions with both claude and codex. They are good but, at least for me, don't fully replace the coding part. Plus I tend to lose focus because of basically random response time.
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.
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.
> They’ve dropped the ball over the past five years. Part of me thinks it was the war in Ukraine that did them in.
I'm also a subsciber for over a decade, and came here to say the same thing. I don't know how their teams were distributed across eastern Europe and Russia but the war is when I pinpoint quality declining.
I've kept my subscription for now as for PHP and Symfony nothing comes close, but I'm actively looking to move away.
it would hang for me half the time , the last time i tried it (3-4months ago?). when it worked, it seemed really good. but it hung often. time to try again
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 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?
I think that the commonly used refactoring functions would make a big difference and right now most IDEs are pretty bad at them (especially across all the languages jetbrains supports):
- rename variable/function
- extract variable/function
- find duplicate code
- add/remove/extract function parameter
- inline a function
- moving code between classes
- auto imports
Others are used more rarely and can probably be left out but I do think it would save a lot of tokens, errors and time.
You’re missing the point, it’s about those tools drastically improving context window management. When you want to tackle large refactors, Claude Code will blow tens of thousands of tokens just searching for files and various refactor related file manipulation. When you run out of window in the middle of a big refactor you’re going to have a bad time.
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.
I had a conversation with Claude code 2 weeks ago where it mentioned early support for LSP had been added into Claude code. Have been working on a LSP for a custom language since then.
I am on the latest version of Claude Code and nothing comes up when I follow this and search for "mcp". Looks like this feature is quite undercooked at the moment. I'm hoping for a more straightforward way to enable this and ensure the LSP is being used by Claude in the future.
LOL yeah that would be a solid guess but I just sanity checked and I messed it up only in the comment, in Claude Code when I search for "lsp" I still get no matches.
Interesting. I'd guess you don't have the Claude Plugins marketplace enabled, but I very much agree that the whole plugins/marketplace system seems half-baked in Claude Code.
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
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.
My permissions prompt isnt quite working right with it either. It pops up but isnt blocking, so claude continues editing and asking for other permissions which replaces this prompt. Then when you confirm those prompts, it shows the LSP prompt again. Definitely needs polish (and explanations on how it even benefits the agent)
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
This is something I notice often when using these tools (if this is what you are referring too). Like they will grep entire code bases to search for a word rather than search by symbol. I suppose they don't care to fix these types of things as it all adds up to paid tokens in the end.
We have 50 years worth of progress on top of grep and grep is one of the worse ways to refactor a system.
Nice to see LLM companies are ignoring these teachings and speed running into disaster.
Using Grep or regex is textual refactoring. If you want to rename every reference to a type Foo, how do you is that without touching any variables named foo, or any classes named FooBar
The answer is use tools that have semantic info to rename things.
Only if they are not told how to search the codebase efficiently. All you need is an MCP server for code search. There's even LSP backed MCP servers now.
I see, I'm highly skeptical of using these tools because I honestly feel faster with a vim + clt workflow if I know what to write.
I'll have to check again because 6 months ago this stuff was pure trash and more frustrating than useful (beyond a boilerplate generate that also boils the ocean).
Yes, check again - to be blunt, any opinions (at least tactical on how well feature X works) formed 6 months ago are not really relevant to the conversation today given how fast this is all moving.
Opus 4.5 in Claude Code is a massive jump over 4.0 which is a massive jump over 3.7.
Each generation is being fine-tuned on a huge corpus of freshly-generated trajectories from the previous generation so things like tool use improve really quickly.
I was luke-warm about codex when I tried it 2-3 months ago, but just recently tried it again last week, running it against claude code, both of them running against the same todo list to build a docusign-like web service. I was using loops of "Look at the todo list and implement the next set of tasks" for the prompt (my prompt was ~3 sentences, but basically saying that):
- Codex required around 30 passes on that loop, Claude did it in ~5-7.
- I thought Codex's was "prettier", but both were functional.
- I dug into Claude's result in more depth, and had to fix ~5-10 things.
- Codex I didn't dig into testing quite as deeply, but it seemed to need less fixing. Still not sure if that is because of a more superficial view.
- Still a work in progress, have not completed a full document signing workflow in either.
Similar experience and timeline with codex, but tried it last week and it's gotten much better in the interim. Codex with 5.2 does a good job at catching (numerical) bugs that Opus misses. I've been comparing them and there's not a clear winner, GPT 5.2 misses things Opus finds and vice versa. But claude-code is still a much better experience and continues to just keep getting better but codex is following, just a few months behind.
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.
Codex is an outsourcing company, you give specs, they give you results. No communication in between. It's very good at larger analysis tasks (code coverage, health etc). Whatever it does, it does it sloooowwwllyyy.
Claude is like a pair programmer, you can follow what it's doing, interrupt and redirect it if it starts going off track. It's very much geared towards "get it done" rather than maximum code quality.
I’m basically only using the Codex CLI now. I switched around the GPT-5 timeframe because it was reliably solving some gnarly OpenTelemetry problems that Claude Code kept getting stuck on.
They feel like different coworker archetypes. Codex often does better end-to-end (plan + code in one pass). Claude Code can be less consistent on the planning step, but once you give it a solid plan it’s stellar at implementation.
I probably do better with Codex mostly due to familiarity; I’ve learned how it “thinks” and how to prompt it effectively. Opus 4.5 felt awkward for me for the same reason: I’m used to the GPT-5.x / Codex interaction style. Co-workers are the inverse, they adore Opus 4.5 and feel Codex is weird.
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.
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.
Agree completely. It's already been like this for 1-2 years even. Things are finally starting to get baked in but its still early. For example, AI summaries of product reviews, gemini youtube video summaries, etc..
Its hard to quantify what sort of value those examples generate (youtube and amazon were already massively popular). Personally I find it very useful, but it's still hard to quantify. It's not exactly automating a whole class of jobs, although there are several youtube transcription services that this may make obsoete.
> 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.
Useful technology can still create a bubble. The internet is useful but the dotcom bubble still occurred. There’s expectations around how much the invested capital will see a return and growing opportunity cost if it doesn’t, and that’s what creates concerns about a bubble. If a bubble bursts, the capital will go elsewhere, and then you’ll have an “AI winter” once again
The idea that this technology isn't useful is as ignorant as thinking that there is no "AI" bubble.
Of course there is a bubble. We can see it whenever these companies tell us this tech is going to cure diseases, end world hunger, and bring global prosperity; whenever they tell us it's "thinking", can "learn skills", or is "intelligent", for that matter. Companies will absolutely devalue and the market will crash when the public stops buying the snake oil they're being sold.
But at the same time, a probabilistic pattern recognition and generation model can indeed be very useful in many industries. Many of our problems can be approached by framing them in terms of statistics, and throwing data and compute at them.
So now that we've established that, and we're reaching diminishing returns of scaling up, the only logical path forward is to do some classical engineering work, which has been neglected for the past 5+ years. This is why we're seeing the bulk of gains from things like MCP and, now, "agents".
> This is why we're seeing the bulk of gains from things like MCP and, now, "agents".
This is objectively not true. The models have improved a ton (with data from "tools" and "agentic loops", but it's still the models that become more capable).
Check out [1] a 100 LoC "LLM in a loop with just terminal access", it is now above last year's heavily harnessed SotA.
> Gemini 3 Pro reaches 74% on SWE-bench verified with mini-swe-agent!
I don't understand. You're highlighting a project that implements an "agent" as a counterargument to my claim that the bulk of improvements are from "agents"?
Sure, the models themselves have improved, but not by the same margins from a couple of years ago. E.g. the jump from GPT-3 to GPT-4 was far greater than the jump from GPT-4 to GPT-5. Currently we're seeing moderate improvements between each release, with "agents" taking up center stage. Only corporations like Google are still able to squeeze value out of hyperscale, while everyone else is more focused on engineering.
They're pointing out that the "agent" is just 100 lines of code with a single tool. That means the model itself has improved, since such a bare bones agent is little more than invoking the model in a loop.
That doesn't make sense, considering that the idea of an "agentic workflow" is essentially to invoke the model in a loop. It could probably be done in much less than 100 lines.
This doesn't refute the fact that this simple idea can be very useful. Especially since the utility doesn't come from invoking the model in a loop, but from integrating it with external tools and APIs, all of which requires much more code.
We've known for a long time that feeding the model with high quality contextual data can improve its performance. This is essentially what "reasoning" is. So it's no surprise that doing that repeatedly from external and accurate sources would do the same thing.
In order to back up GP's claim, they should compare models from a few years ago with modern non-reasoning models in a non-agentic workflow. Which, again, I'm not saying they haven't improved, but that the improvements have been much more marginal than before. It's surprising how many discussions derail because the person chose to argue against a point that wasn't being made.
The original point was that the previous SotA was a "heavily harnessed" agent, which I took to mean it had more tools at its disposal and perhaps some code to manage context and so on. The fact that the model can do it now in just 100 LoC and a terminal tool implied the model itself has improved. It's gotten better at standard terminal commands at least, and possibly bigger context window or more effectively using the data in its context window.
Those are improvements to the model, albeit in service of agentic workflows. I consider that distinct from improvements to agents themselves which are things like MCP, context management, etc.
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.
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?
> Is it the prompt that Anthropic has been polishing in Claude code for so long?
I think so.
The opencode TUI is very good, but whenever I try it again the results are subjectively worse than Claude Code. They have the disadvantage of supporting many more models in terms refining prompts / tool usage.
The Claude Code secret sauce seems to be running evals on real world performance and then tweaking prompts and the models themselves to make it work better.
There’s a ton of difference provided on top of the LLMs, especially the tools that allow LLMs to engineer their own context, validate generated code, test generate code, research code bases, planners, memory, skills, etc. The difference is night and day: like a brain in a closed jar versus a brain in a mobile human with eyes, ears, mouth and hands.
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).
You can move quite fast when you don't have to spend half a week persuading 7 stakeholders that something is worth doing, then spend a week arguing about sprint capacity and roadmap disruptions.
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.
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?
The big players (Gemini, Claude Code, Codex) and then aider and opencode for open source.
I keep my setup modular/composable so I can swap pieces and keep it usable by anyone (agent, human, time traveler) depending on what the task needs. In the aughts I standardized on "keep worklogs and notes on tools and refine them into runbooks" so that has translated pretty well to agentic skills/tools. (a man page is a perfectly cromulent skill, btw.)
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'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
Claude code has some hard coded system prompting that materially opposes my working preferences. I work on things that need full context/ at least 50+ percent usage ish reasoning to do stuff correctly. Happily ive a bunch of stuff that helps persist reasoning and opus was very helpful, and hilariously handling the patching as if it was a static linked binary!.
The difference for me was night and day!! A lot of the hard wired prompts on the app are only sane for single shot crud work. Habits and behaviors that would make me loath working with a person doing the same.
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 hope in a couple of years the industry would have outgrown this adolescene and we'll all collectively look back at this horribly inefficient and poorly engineered tooling with disdain. We need to as these things are literally causing harm to the planet (energy, water, raw materials, geopolitics)
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?
IDEs have LSP support because they have a plugin that connects to an LSP server. The plugin is a very small piece of code compared to the language server. Creating a new client is not reinventing the wheel. In fact the entire philosophy of LSP is: one server to many different clients.
CLIs can also have a small piece of code that connects to an LSP server. I don’t see why IDEs should be the sole beneficiary of LSP just because they were the first clients imagined by the LSP creators.
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.
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
> It would be a huge step up if agent could interact with LSP (Language Server Protocol).
>
> It would offer :
>
> renaming all instances of a symbol over all files in one action
> quick navigation through code : fast find of all references to a property or method
> organize imports, format code, etc…
And last Friday a Cursor engineer replied "Thanks for the idea!"
So how does the AI agent in Cursor currently have access to LSP?
(I am most interested in having the agent use LSP for type checking, documentation of a method call, etc. rather than running slower commands)
(note, there is an open PR for Zed to pull LSP diagnostics into an AI agent thread https://github.com/zed-industries/zed/pull/42270 but it would be better if agents could make arbitrary LSP queries or something like that)
It would be so cool if LLMs could get the type of a variable when it's unclear (specially in languages with overloading and whatnot). Or could get autocomplete if they get stuck with a code. Really I think that agents and LSP should be hybrid, and maybe the agent could inform the LSP server of some things like things to warn (IDE diagnostics could be driven by a combination of LSP and AI agents)
Well my editor is in the terminal, so is my chatbot. I dont really want to change to an IDE to use a desktop app and a chatbot that both have half-baked UIs trying to complement each other.
Just a heads up that this is completely broken as of 2.0.76.
Dug through their obfuscated JS and it looks like they forgot to re-add a function call in the LSP manager initialize function that actually adds/indexes the lsp registered from plugins.
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
CLIs don't use context space when unused. I find them almost universally preferable just because of that.
Models get stupid after the first 80-100k tokens are used so keeping bloated tools out of the window unless completely necessary is a pretty hard requirement for effective AI use IMO.
What I've wondered about is whether there is a use in having an LLM that operates on AST symbols (or some IR representation) as input and/or output. It would be language specific of course (though maybe using something like MLIR is somewhat portable), but I would think it would result in a higher quality neural network, a reduction in tokens, etc.
it doesn't seem to mention anything on using the LSP for linting/typechecking? That's what I really want, instead of my unholy combo of post edit hooks and claude.md "PLEASE PLEASE PLEASE run type checking and linting before you think everything is done..."
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.
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).
The cadence of the Claude Code team is pretty impressive. I count 57 releases since 2.0 (which was less than 3 months ago), and most of these had significant new features.
Nix plus flakes (and optionally devenv) is such a great baseline to operate agents in. So much less thinking about dependencies on various runtime platforms, and you get pinning out of the box.
Yeah uvx gets abused out of its convenience. uv has many useful features like dev dependencies and inline dependencies, that are much more reliable than uvx.
One tip for in-line dependencies: set a max date to lock your packages - reliable and simple for small scripts.
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.
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.
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.
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.
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.
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.
You don't want to run tests after every file change, because that will distract Claude from finishing whatever it's doing and add noise to the context window. Of course the tests will be broken if Claude hasn't finished the full change yet.
Running tests makes most sense on the Stop hook event, but personally I've found CLAUDE.md instruction of "Run `just check` after changes" to be effective enough. The Stop hook has the issue that it will run the checks every time Claude stops responding, even after without any changes.
Won't the LSP distract Claude too? I am trying to think of ways to make Claude faster at iterating by reducing tool calls. That always seems to be a bottleneck when it's doing tons of back-and-forth with tool calls.
Back when I was using CC, I had a "mandatory" development workflow that checks if the corresponding test file exists for the changed file, runs tests and runs the test coverage tool for the changed file.
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.
References + a few extra steps will give you rename symbol. Anthropic is seemingly wanting to experiment with this - so it makes sense to limit the integration points.
Also diagnostics (errors, warnings), inlay hints like types and parameters, code lens (tiny embedded buttons), symbols, notifications like “document changed”, and more
Interesting. I develop two projects and maintain a few. I haven't opened an IDE within the past two weeks. What do you do with an IDE? Stare as code is written, refactored, tested and debugged automatically?
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?
But what is the benefit for Claude Code? You don't write code in Claude Code so why would I need autocomplete or jump to definition? Does Claude itself use them instead of e.g. grepping? Struggling to understand how it helps.
I'd like to know what more of the use cases are too, but one would be for doing renaming operations where the LSP understands the code and will tell the caller exactly what edits to make to which files. So I assume with LSP integration you could then ask Claude Code to do the rename, and it would do it per LSP instructions rather than itself having to understand the source code and maybe doing a worse job.
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 keep AI prompts in Notes for using with different chatbots. You can paste them normally into ChatGPT etc but Claude mangles them up.
Claude doesn't let you buy a subscription from the iOS with an In-App Purchase, you have to enter your card, and then they don't let you remove your payment info. It's just sitting there waiting for the eventual data breach.
Sign in with Apple on iOS, but only Sign In With Google on the web. Guess how you log in on desktop if you signed up on the phone.
They have that "I'm special" syndrome where they think they can ignore the most basic conveniences that every other product does.
(Talking about Claude not Claude Code, but the Claude web UX was so crap and Code's output for Godot so useless that I didn't even bother trusting Code for more than 1 day)
What language are you using with it for Godot? I'm using C++ with Unreal5 and Claude seems pretty good at it TBH. I don't disagree that it has some rough edges.
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.
Jetbrains seems a bit lost these days. Look at that very recent screw up [0].
I thought about moving after 10+ years when they abandoned the commit modal, and jacked up the plan prices, but I barely understand how to commit things in Vscode anyway. Let's see in 2026.
[0] https://blog.jetbrains.com/datagrip/2025/12/18/query-console...
The commit workflow was what kept me locked in to the ecosystem for so long. LazyGit was so good that it convinced me I didn’t need JetBrains anymore. If you love the workflow with JB for commits check out LazyGit. It’s a TUI so you can use it in any editor without much friction.
I'm kinda reading this with disbelief. Are there people whose primary use case for IDE is... git gui?
Remember this when you're thinking about the average commenter's opinion on anything technical.
Remember what? That people have different preferences, workflows and methods of staying productive?
Someone voiced that they liked a certain tool for a certain feature and suddenly we are judging them for it? I like that people share their thoughts and opinions.
If using the git command line makes you feel like a better developer than me that's fine ;)
I do almost everything git manually at the CLI. But the Jetbrains IDEs have a fantastic GUI git merge tool, and I also like the local git diff UI. Add in integrated blame mode, ability to pull up version-diff files, and that sort of thing.
It's not part of my daily driver toolbox, but they do get used a lot by me.
You made me realize that I actually do use it, since I often look at git blame and the past changes.
And I like the (recent?) update in which the changes from current commit (not only stage) are coloured.
Exactly. There's a lot of little niceties buried in the integration across the board. I'm convinced that many VSCode supporters have never used a true IDE because whenever I complain about VSCode's shortcomings I'm met with "why would you want that?". Sure, but this git example is a great one because for most of it I *don't* want it, but there's a lot of related bits that I *do* want.
I'm a bit mixed, as I really appreciate the balance that VS Code has brought to the table and even with that feel there's sometimes too much in the base install. JetBrains is definitely better than VS proper in a lot of ways though. I still have nightmares of using VS for web projects, it's not nearly as bad today but I still completely avoid it.
Merge is about the only time I look for gui experience with git. I'm by no means an expert at git.
It's the only git operation I do with a gui. But as I said elsewhere, there are a lot of little integrations I do make use of. For instance I find it helpful to have git blame up on the side when editing a file.
I almost always operate in my own feature branch, squashing and then rebasing along the way... sometimes I'll just keep amending my feature commit as I work. I find it just saves me a lot of pain along the way.
Jetbrains' implementation is (was?) just that good, yes (combined with local history).
To be fair, VS Code git implementation is really off-putting if you've used something good.
Personally I love it and find it very intuitive.
It allows you to do stuff so much faster than having to type everything manually into the terminal. Also really enjoy the "Undo Last Commit" feature and how I can easily see all modified files at once and shuffle around stuff between the staging area.
The parent is comparing it to, e.g. jetbrains git integration.
I have no idea about both. I just use git in terminal.
Honestly, the git implementation in PyCharm is better than any git app I've used, including lazygit (which I like and is my go-to when not in PyCharm).
Git is just that bad, huh? The best backhanded endorsement of mercurial I've seen so far.
I've always had the opinion that people complaining about it are just holding it wrong.
Or if you prefer a GUI (still separate app, so works anywhere, too): https://git-cola.github.io/
Graphical interface won't work well inside WSL, that's why I dropped my subscription on GitKraken and start using lazygit. lazygit simply works in almost any environment, and it works extremely well even if you are not into terminal stuff.
Yeah, that’s the power of TUI. I would probably give it a go, too, but Git Cola works for me on Linux and Mac without too many issues.
(By “works anywhere”, I meant you can use it with any IDE or editor, or just run it from terminal, though it is cross-platform and should work on Windows, just not sure how well it would play with WSL.)
Yeah I really wish VSCode had a TUI option :( That would be so useful and so much more performant
A TUI editor with a lot of the features of VS Code could be pretty cool... Basically a relatively thin shell on the remote editor server.
What’s stopping you from using it in the terminal view of VSCode? Perhaps I’m misunderstanding your comment so please forgive me if I am.
Maybe you’re saying that you wish VSCose itself was a TUI?
Yes the latter, that it did have a TUI option for its interface.
Really? While there its certainly slightly annoying because they have the "double menu bar" if they use a non-standard one like the jetbrains ides do... I feel like wsl gui support has essentially become a "solved issue" for a while now.
Yes and no, GitKraken actually have a graphical interface for WSL (or Linux generally), but it is barely usable as the WSL-g does not really work well. It's blurry for Hi-Res screen and the performance is like hell.
I would never try running any graphical stuff in WSL anymore, not worth it. VMWare with a graphical installation of any Linux system would be a preferred choice as I'm testing lately.
Or Proxmox or just virt-manager
Just found LazyGit as well. it's amazing!
Also like Sublime Merge, if you want a GUI (paid though)
Fortunately JB broke that addiction for my by first moving the commit dialog behind an option, and then removing it completely. If I have to learn a new workfrow, I might as well learn a new tool
Currently the plugin version still works but they made it clear it will be unmaintained in the future.
Doesn't Jetbrains MCP (it is built on n, you need just to enable it) provide tool for refactoring?
I mostly rely on the CLI for my git operations anyway. It does make it hard to support others who are using the tools (VS/code/jetbrains, etc) though, since I don't really "get" the workflows in the GUI tools at all.
> I barely understand how to commit things in Vscode anyway
Yeah that’s on you not even trying. Source control panel, add files or chunks, write message, commit.
You can put it all on a hotkey.
Did they abandon the commit modal? In 2024 line it's disabled by default (in favor of tool window) but you can enable it back.
They have a plugin for the old behavior
I have been leaning towards Zed.
I've been a paying user for years. I don't see the point anymore since claude code.
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.
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.
Yeah, it's quite odd that they can't get AI tools to work, especially considering so many OSS tools available that work surprisingly well (cline, opencode, etc.).
How do these compare? I'm very familiar with Augment and particularly enjoy its fast completions. I mostly don't use its agent, but rather Claude Code in the terminal, because the agent seems superior.
But Augment is not the most stable. I've had lots of serious problems with it. The newest problem that's pushing me over the edge is that it's recently have been causing the IDE to shoot up to use all cores (it's rare to see an app use 1,000% CPU in the macOS Activity Monitor, but it did it!) when it needs to recompute indexes, which is the only thing that has ever made my M2 Mac run its fan. It's not very reliable generally (e.g. autocompletions don't always appear), so I'd be interested in trying alternatives.
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.
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.
I think that https://agentclientprotocol.com/ was mentioned as ACP
> 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.
I'm not sure this is true, do you have a source? Maybe conflating this with the recent Agentic AI Foundation & MCP news?
I think you may be confusing Agent Client Protocol with Agent Communication Protocol.
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.
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.
My beef with zeds implementation is they haven’t kept it up to date. I really like the ide integration but when you don’t support half the things that make Claude code really nice, like hooks, it kinda defeats the purpose
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.
If not VSCode then Zed. It feels like Zed is what they wanted Fleet to be.
Is there something with the Claude code plugin for JB IDEs you don’t like? Is there something the VSCode Claude Code plugin does better?
I can’t speak for Claude, but Gemini is laughably bad. Like, does someone who develop this shit ever tried to use it? Is it all crab hands that only use mouse? It’s a single line change to switch focus to THE ONLY INPUT on a tool window, but no, you have to use a shortcut to switch to Gemini window and then MOVE YOUR MOUSE across the screen to select input or press tab like 5 times. Embarrassment.
VSCode? Select AI view via shortcut or CMD + P and you’re done. That’s how you do it.
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.
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.
When you become complacent and your ego isn’t checked, you think you have the hottest thing. Hubris is hard. They had a pretty big moat that they let vscode eat away at. I don’t think they saw any of this coming and are struggling to make sense of it.
Where are you getting the concept of ego and hubris from? I don't really see much personification of JB's public facing identity.
I've been a massive JetBrains fanboy for a bit over a decade. I finally let my subscription lapse this month. It isn't so much about AI integrations but overall competitors have caught up. The rise of LSP and DAP did a lot to shrink their competitive advantage
They are trying now to create an agent-first IDE. I think they are too big to move on this.
https://blog.jetbrains.com/fleet/2025/12/the-future-of-fleet...
>Over time, we learned that having two general-purpose IDE families created confusion and diluted our focus.
And not the dozens of others you have? Do you not consider them also separate families?
Yeah, they completely didn’t see any of this coming.
All the other IDEs they have are variants of IDEA.
Fleet is a completely different codebase.
So they’re correct, there’s only two families of IDEs.
Isn't Fleet in preview 5 years later?
Fleet is cancelled, see the link above
Kind of figures, they were trying to compete with VS Code but they were not even able to create a stable release in all that time.
They just announced the end of their fleet editor
Yeah, and that they are pivoting it to an agent first editor.
https://air.dev/ provides more info, for anyone who's intrigued.
After fleet fiasco? No thanks.
I heard really good things about Zed, lol. I’m with you. I canceled my jetbrains subscription a couple years ago and I have no intention of returning. They have been superseded and are no longer a relevant company. AI has made them obsolete.
Atlassian is next…
So many salty fools who bought into “professional|enterprise grade ide” cool aid. Glad to see upstarts eating their lunch, they’ve been complacent for far too long.
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…
Being a JetBrains customer lately feels like watching everybody else race by in their cars while your horse is trying to eat the carrot in a grocery store ad on the side of a bus stop
I get it, horse, you're confused, but we got places to go.
One thing you can still do is use Windsurf's agent, Cascade, inside Jetbrains: https://windsurf.com/plugins/jetbrains
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.
In a similar vein, I really struggle to understand why copilot is so crap when writing SQL and I'm connected to the database. The database has so much context (schema names, column names, constraints etc.) yet copilot regularly hallucinates the most basic stuff like table and column names, which standard auto complete has managed fine for the last 20+ years.
I dunno, SQL Server Management Studio regularly drops the ball on autocomplete ever since I've started using it
It was one of the things that brought me to DataGrid in the first place
No one is interested to solve hard problems. The broad industry got lucky with LLMs and everyone is now blindly burning capital at this. If you think they can't be that stupid remember the covid super hiring frenzy.
Heh, read The Big Short. A large point of the book is that a lot of rich people are both greedy (which we already assumed) and also stupid (which we didn't assume).
It's almost like someone's ability to accumulate capital has little bearing on their critical thinking skills.
I hope your current boss appreciates who they have.
Same shit, but Microsoft and Visual Studio.
Like, the AI can't jump to definition! What are we fucking doing!?
Exactly!
This is why LSP support should be huge, and I'm surprised it's just a line-item in a changelog.
Well, until Real Visual Studio offers a LSP server it means nothing to me.
Days fucking around with clangd for jump to definition to sometimes work. Sigh
Is Roslyn available only for .NET?
Yes it's the name of the .NET compiler API.
It was code-named to disambiguate it from the old compiler. But Roslyn is almost 15 years old now, so I can't call it new, but it's newer than the really legacy stuff.
It essentially lets you operate on the abstract snytax tree itself, so there is background compilation that powers inspection and transformation.
Instant renaming is an obvious benefit, but you can do more powerful transformations, such as removing redundant code or transforming one syntax style into another, e.g. tranforming from a Fluent API into a procedural one or vice-versa.
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.
https://news.ycombinator.com/item?id=45846798
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.
What does rustrover do that rust-analyzer itself cannot?
Hi! I’m from the RustRover team. RustRover is a full-blown IDE, not just a code analysis engine like rust-analyzer.
In addition to Rust code analysis, RustRover provides many features, including code linting, code formatting, dependency management (Cargo.toml editing), UI debugging, support for web technologies and databases, and AI support (including an agentic approach with Junie).
Comparing code analysis capabilities themselves is quite difficult, because Rust is a very complex language, especially when it comes to implementing IDE-level support. Features such as macros make this even more challenging. RustRover and rust-analyzer use different approaches to solving these problems, and we also share some components. Of course, neither approach is perfect. Depending on the specific project, the developer experience may vary.
rust analyzer fails 13 lines into my main.rs file because I use something rust analyzer just doesn't work with that well, also it's much faster
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.
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 are shoving it down our throats though, I have to uninstall their AI plugin after every IDE update, CoPilot suddenly stopped working? Oh, it's because JetBrains has enabled their AI auto-completion feature and it's broken CoPilot.
Your logical fallacy is assuming two different groups of people are the same people, which never leads to productive conversation.
> It's interesting that everyone is saying "please don't shove AI down our throat!".
Ever thought that two vocal minorities might not overlap, or even represent opinion of a bigger group?
Yeah, I really appreciate that JB has not made an utter mess of my IDE and has not forced anything on me.
They've tried to play it both ways. Not AI enough for the AI fanboys, but want to keep a toe in there for everyone else. They'd be better placed rejecting AI entirely, and then when the bubble pops they'll be well positioned to sweep in and eat VSCode's lunch with a product that actually works.
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.
They wanted to, but they’re still waiting for the IDE itself to simply load.
You joke and folks downvote, but this is my biggest issue with WebStorm. I'm seriously considering switching for the first time in 16 years. Zed is quite snappy. The Claude Code integration in VS Code is brilliant. I've used the CLI in the JetBrains terminal. I had no idea I could revisit past conversations until I used the VS Code extension!
Zed is snappy in the same way that notepad ++ is snappy: If you don't support 10% of language features you can avoid the hard work. Unfortunately this means that non trivial projects have false positive errors everywhere.
Zed uses clangd, I don't think clangd support only 90% of C++ (and I don't think it avoid hard work).
Is that why they've given up on their own C++ analyzer and finally adopted clangd?
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.
I'm biased (work at Cognition) but I think it's worth giving the Windsurf JetBrains plugin a try. We're working harder on polish these days, so happy to hear any feedback.
augmentcode has a great plugin for pycharm (and all jetbrains products) if you don't want to throw the baby out with the bathwater.
Actually currently I'm using augment, it's good, but still subpar when compared to old supervmaven or cursor.
One thing that I'm really missing is the automatic cursor move.
Interesting, I have completely stopped using the editor at this point and do everything through the agent except reading diffs.
I have running subscriptions with both claude and codex. They are good but, at least for me, don't fully replace the coding part. Plus I tend to lose focus because of basically random response time.
JetBrains has AI support. It's a bit janky right now, but it is definitely getting better.
They have an MCP server, but it doesn't provide easy access to their code metadata model. Things like "jump to definition" are not yet available.
This is really annoying, they just need to add a bit more polish and features, and they'll have a perfect counter to Cursor.
The polish is what they seem to have trouble with lately.
I much prefer their ides to say vscode, but their development has been a mess for a while with half-assed implementations and long standing bugs
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.
Just customize emacs. Their refactoring and AI packages are good, and it's faster.
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.
> They’ve dropped the ball over the past five years. Part of me thinks it was the war in Ukraine that did them in.
I'm also a subsciber for over a decade, and came here to say the same thing. I don't know how their teams were distributed across eastern Europe and Russia but the war is when I pinpoint quality declining.
I've kept my subscription for now as for PHP and Symfony nothing comes close, but I'm actively looking to move away.
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.
I never got it to work, but in the process of trying it became obvious that it’s an under-resourced feature.
I had issues in the beginning, now it works fine, Claude is using it all the time to find things in my codebase.
it would hang for me half the time , the last time i tried it (3-4months ago?). when it worked, it seemed really good. but it hung often. time to try again
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.
LSP supports refactoring commands
But Claude Code does not, which is the point you have missed
> 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?
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.
Intellij also has structural search and replace, where you can do full subgraph isomorphism search in the code and with patterns like
Where you add filters like x's type is a subclass of some class, and args stands for 0-n arguments.You can also access the full intellij API via groovy scripts in the filters or when computing replacement variables, if you really want.
Though most of the time built in refactors like 'extract to _' or 'move to' or 'inline' or 'change type signature' or 'find duplicates' are enough.
I think that the commonly used refactoring functions would make a big difference and right now most IDEs are pretty bad at them (especially across all the languages jetbrains supports):
Others are used more rarely and can probably be left out but I do think it would save a lot of tokens, errors and time.Agentic refactoring was such a chore I ended up building this for my refactoring workflows.
https://gitlab.com/rhobimd-oss/shebe/-/blob/main/docs/guides...
https://gitlab.com/rhobimd-oss/shebe/-/tree/main?ref_type=he...
Then in skills or CLAUDE.md I instruct claude to use this mcp tool to enumerate all files need changing/updating.
Is it possible to still somehow download fleet,does anyone have idk an exe or something or know a website where It is still possible?
You’re missing the point, it’s about those tools drastically improving context window management. When you want to tackle large refactors, Claude Code will blow tens of thousands of tokens just searching for files and various refactor related file manipulation. When you run out of window in the middle of a big refactor you’re going to have a bad time.
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!
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.
I had a conversation with Claude code 2 weeks ago where it mentioned early support for LSP had been added into Claude code. Have been working on a LSP for a custom language since then.
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
I am on the latest version of Claude Code and nothing comes up when I follow this and search for "mcp". Looks like this feature is quite undercooked at the moment. I'm hoping for a more straightforward way to enable this and ensure the LSP is being used by Claude in the future.
Perhaps because you are searching for "mcp" and not "lsp"?
LOL yeah that would be a solid guess but I just sanity checked and I messed it up only in the comment, in Claude Code when I search for "lsp" I still get no matches.
Upgrade claude code, on old versions the anthropic marketplace is not enabled by default
Interesting. I'd guess you don't have the Claude Plugins marketplace enabled, but I very much agree that the whole plugins/marketplace system seems half-baked in Claude Code.
might need to upgrade claude code
huh, well i got it on my work account, but my personal claude pro account still doesn't seem to have it available (2.0.76)
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
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.
Thanks! I saw typescript-lsp in the plugins list, but I wasn't sure if that was related.
Have you figured out what triggers it?
No, and it looks like this functionality was released/announced prematurely:
https://github.com/anthropics/claude-code/issues/14803#issue...
https://github.com/anthropics/claude-code/issues/13952#issue...
https://github.com/anthropics/claude-code/issues/13952#issue...
My permissions prompt isnt quite working right with it either. It pops up but isnt blocking, so claude continues editing and asking for other permissions which replaces this prompt. Then when you confirm those prompts, it shows the LSP prompt again. Definitely needs polish (and explanations on how it even benefits the agent)
Go to /plugins, then marketplaces, then select official and update marketplace. This did it for me.
this!
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!
OpenAI engineer fails to rename references because his F2 key has been replaced with the Copilot button?
No LSP support is wild.
This is something I notice often when using these tools (if this is what you are referring too). Like they will grep entire code bases to search for a word rather than search by symbol. I suppose they don't care to fix these types of things as it all adds up to paid tokens in the end.
We have 50 years worth of progress on top of grep and grep is one of the worse ways to refactor a system.
Nice to see LLM companies are ignoring these teachings and speed running into disaster.
> grep is one of the worse ways to refactor Hum? care to explain this?
Using Grep or regex is textual refactoring. If you want to rename every reference to a type Foo, how do you is that without touching any variables named foo, or any classes named FooBar
The answer is use tools that have semantic info to rename things.
Only if they are not told how to search the codebase efficiently. All you need is an MCP server for code search. There's even LSP backed MCP servers now.
I see, I'm highly skeptical of using these tools because I honestly feel faster with a vim + clt workflow if I know what to write.
I'll have to check again because 6 months ago this stuff was pure trash and more frustrating than useful (beyond a boilerplate generate that also boils the ocean).
Yes, check again - to be blunt, any opinions (at least tactical on how well feature X works) formed 6 months ago are not really relevant to the conversation today given how fast this is all moving.
Opus 4.5 in Claude Code is a massive jump over 4.0 which is a massive jump over 3.7.
Each generation is being fine-tuned on a huge corpus of freshly-generated trajectories from the previous generation so things like tool use improve really quickly.
Are you having a positive experience with Codex compared to Claude Code? Codex in my brief experience was... not good w/ 5.1
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.
I was luke-warm about codex when I tried it 2-3 months ago, but just recently tried it again last week, running it against claude code, both of them running against the same todo list to build a docusign-like web service. I was using loops of "Look at the todo list and implement the next set of tasks" for the prompt (my prompt was ~3 sentences, but basically saying that):
What are some of the use cases for Claude Code + LSP ? What does LSP support let you do, or do better, that Claude Code couldn't do by itself ?
Similar experience and timeline with codex, but tried it last week and it's gotten much better in the interim. Codex with 5.2 does a good job at catching (numerical) bugs that Opus misses. I've been comparing them and there's not a clear winner, GPT 5.2 misses things Opus finds and vice versa. But claude-code is still a much better experience and continues to just keep getting better but codex is following, just a few months behind.
I checked the codex source code a few months ago and the implementation was very basic compared to opencode
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.
It goes like this:
Codex is an outsourcing company, you give specs, they give you results. No communication in between. It's very good at larger analysis tasks (code coverage, health etc). Whatever it does, it does it sloooowwwllyyy.
Claude is like a pair programmer, you can follow what it's doing, interrupt and redirect it if it starts going off track. It's very much geared towards "get it done" rather than maximum code quality.
I’m basically only using the Codex CLI now. I switched around the GPT-5 timeframe because it was reliably solving some gnarly OpenTelemetry problems that Claude Code kept getting stuck on.
They feel like different coworker archetypes. Codex often does better end-to-end (plan + code in one pass). Claude Code can be less consistent on the planning step, but once you give it a solid plan it’s stellar at implementation.
I probably do better with Codex mostly due to familiarity; I’ve learned how it “thinks” and how to prompt it effectively. Opus 4.5 felt awkward for me for the same reason: I’m used to the GPT-5.x / Codex interaction style. Co-workers are the inverse, they adore Opus 4.5 and feel Codex is weird.
I've gone it works wonderful for 5.2. I think chatgpt plus is at the top of the weekly AI rolling wars. Most bang for the buck.
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.
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.
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.
Agree completely. It's already been like this for 1-2 years even. Things are finally starting to get baked in but its still early. For example, AI summaries of product reviews, gemini youtube video summaries, etc..
Its hard to quantify what sort of value those examples generate (youtube and amazon were already massively popular). Personally I find it very useful, but it's still hard to quantify. It's not exactly automating a whole class of jobs, although there are several youtube transcription services that this may make obsoete.
> 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.
One thing though, if the slowdown is too abrupt, it might forbid openai, anthropic etc to keep financially running datacenters for us to use.
Useful technology can still create a bubble. The internet is useful but the dotcom bubble still occurred. There’s expectations around how much the invested capital will see a return and growing opportunity cost if it doesn’t, and that’s what creates concerns about a bubble. If a bubble bursts, the capital will go elsewhere, and then you’ll have an “AI winter” once again
The idea that this technology isn't useful is as ignorant as thinking that there is no "AI" bubble.
Of course there is a bubble. We can see it whenever these companies tell us this tech is going to cure diseases, end world hunger, and bring global prosperity; whenever they tell us it's "thinking", can "learn skills", or is "intelligent", for that matter. Companies will absolutely devalue and the market will crash when the public stops buying the snake oil they're being sold.
But at the same time, a probabilistic pattern recognition and generation model can indeed be very useful in many industries. Many of our problems can be approached by framing them in terms of statistics, and throwing data and compute at them.
So now that we've established that, and we're reaching diminishing returns of scaling up, the only logical path forward is to do some classical engineering work, which has been neglected for the past 5+ years. This is why we're seeing the bulk of gains from things like MCP and, now, "agents".
> This is why we're seeing the bulk of gains from things like MCP and, now, "agents".
This is objectively not true. The models have improved a ton (with data from "tools" and "agentic loops", but it's still the models that become more capable).
Check out [1] a 100 LoC "LLM in a loop with just terminal access", it is now above last year's heavily harnessed SotA.
> Gemini 3 Pro reaches 74% on SWE-bench verified with mini-swe-agent!
[1] - https://github.com/SWE-agent/mini-swe-agent
I don't understand. You're highlighting a project that implements an "agent" as a counterargument to my claim that the bulk of improvements are from "agents"?
Sure, the models themselves have improved, but not by the same margins from a couple of years ago. E.g. the jump from GPT-3 to GPT-4 was far greater than the jump from GPT-4 to GPT-5. Currently we're seeing moderate improvements between each release, with "agents" taking up center stage. Only corporations like Google are still able to squeeze value out of hyperscale, while everyone else is more focused on engineering.
They're pointing out that the "agent" is just 100 lines of code with a single tool. That means the model itself has improved, since such a bare bones agent is little more than invoking the model in a loop.
That doesn't make sense, considering that the idea of an "agentic workflow" is essentially to invoke the model in a loop. It could probably be done in much less than 100 lines.
This doesn't refute the fact that this simple idea can be very useful. Especially since the utility doesn't come from invoking the model in a loop, but from integrating it with external tools and APIs, all of which requires much more code.
We've known for a long time that feeding the model with high quality contextual data can improve its performance. This is essentially what "reasoning" is. So it's no surprise that doing that repeatedly from external and accurate sources would do the same thing.
In order to back up GP's claim, they should compare models from a few years ago with modern non-reasoning models in a non-agentic workflow. Which, again, I'm not saying they haven't improved, but that the improvements have been much more marginal than before. It's surprising how many discussions derail because the person chose to argue against a point that wasn't being made.
The original point was that the previous SotA was a "heavily harnessed" agent, which I took to mean it had more tools at its disposal and perhaps some code to manage context and so on. The fact that the model can do it now in just 100 LoC and a terminal tool implied the model itself has improved. It's gotten better at standard terminal commands at least, and possibly bigger context window or more effectively using the data in its context window.
Those are improvements to the model, albeit in service of agentic workflows. I consider that distinct from improvements to agents themselves which are things like MCP, context management, etc.
I think the point here is that it’s not adding agents on top but the improvements in the models allow the agentic flow.
But that’s not true, and the linked agentic design is not a counterargument to the poster above. The LLM is a small part of the agentic system.
LLMs have absolutely got better at longer horizon tasks.
Cobbler’s children…
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 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?
> Is it the prompt that Anthropic has been polishing in Claude code for so long?
I think so.
The opencode TUI is very good, but whenever I try it again the results are subjectively worse than Claude Code. They have the disadvantage of supporting many more models in terms refining prompts / tool usage.
The Claude Code secret sauce seems to be running evals on real world performance and then tweaking prompts and the models themselves to make it work better.
There’s a ton of difference provided on top of the LLMs, especially the tools that allow LLMs to engineer their own context, validate generated code, test generate code, research code bases, planners, memory, skills, etc. The difference is night and day: like a brain in a closed jar versus a brain in a mobile human with eyes, ears, mouth and hands.
Claude models in opencode use the Claude code system prompt, are you comparing Claude code to opencode with non anthropic models?
Yes.
That's apples to oranges then. You should use the same model between both harnesses if you want to evaluate the harnesses individually.
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).
You can move quite fast when you don't have to spend half a week persuading 7 stakeholders that something is worth doing, then spend a week arguing about sprint capacity and roadmap disruptions.
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.
I do like OpenCode, but I get small bugs here and there like flickering, freezing and sometimes just crash all together.
But their configuration setup is the easiest and best out of all the other CLI tools
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.
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?
The big players (Gemini, Claude Code, Codex) and then aider and opencode for open source.
I keep my setup modular/composable so I can swap pieces and keep it usable by anyone (agent, human, time traveler) depending on what the task needs. In the aughts I standardized on "keep worklogs and notes on tools and refine them into runbooks" so that has translated pretty well to agentic skills/tools. (a man page is a perfectly cromulent skill, btw.)
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'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
Claude code has some hard coded system prompting that materially opposes my working preferences. I work on things that need full context/ at least 50+ percent usage ish reasoning to do stuff correctly. Happily ive a bunch of stuff that helps persist reasoning and opus was very helpful, and hilariously handling the patching as if it was a static linked binary!.
The difference for me was night and day!! A lot of the hard wired prompts on the app are only sane for single shot crud work. Habits and behaviors that would make me loath working with a person doing the same.
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.
it's likely been on their mind for _a while_
those wanting lsp support in the loop have been using things such as: https://github.com/oraios/serena
I hope in a couple of years the industry would have outgrown this adolescene and we'll all collectively look back at this horribly inefficient and poorly engineered tooling with disdain. We need to as these things are literally causing harm to the planet (energy, water, raw materials, geopolitics)
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.
IDEs have LSP support because they have a plugin that connects to an LSP server. The plugin is a very small piece of code compared to the language server. Creating a new client is not reinventing the wheel. In fact the entire philosophy of LSP is: one server to many different clients.
CLIs can also have a small piece of code that connects to an LSP server. I don’t see why IDEs should be the sole beneficiary of LSP just because they were the first clients imagined by the LSP creators.
I have not yet had an IDE-based agent give anything close to the CLI Claude Code experience.
So until it manages to do that, I’ll keep being bullish on what works.
Including the Claude Code v2 experience in VSCode.
Thank you, whoever added the setting to revert back to the terminal experience.
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/
Curious if you have a link to that video. Im trying to bridge the gap of claude code to non technical users and am trying to consume all prior art.
There are plenty of GUIs for managing kubernetes, from k9s to redhat's Openshift gui, rancher, Lens, etc
big reach
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
Cursor, Copilot, Roo Code, Cline, among others.
Hi, I just looked up and two weeks ago someone made this suggestion in Cursor forum
https://forum.cursor.com/t/support-of-lsp-language-server-pr...
> Feature request for product/service
>
> Cursor IDE
>
> Describe the request
>
> It would be a huge step up if agent could interact with LSP (Language Server Protocol).
>
> It would offer :
>
> renaming all instances of a symbol over all files in one action
> quick navigation through code : fast find of all references to a property or method
> organize imports, format code, etc…
And last Friday a Cursor engineer replied "Thanks for the idea!"
So how does the AI agent in Cursor currently have access to LSP?
(I am most interested in having the agent use LSP for type checking, documentation of a method call, etc. rather than running slower commands)
(note, there is an open PR for Zed to pull LSP diagnostics into an AI agent thread https://github.com/zed-industries/zed/pull/42270 but it would be better if agents could make arbitrary LSP queries or something like that)
Cursor Agent can get diagnostics as far as I'm aware. Using LSP for renaming and stuff like that, I haven't seen yet.
Oh ok, thanks.
It would be so cool if LLMs could get the type of a variable when it's unclear (specially in languages with overloading and whatnot). Or could get autocomplete if they get stuck with a code. Really I think that agents and LSP should be hybrid, and maybe the agent could inform the LSP server of some things like things to warn (IDE diagnostics could be driven by a combination of LSP and AI agents)
cursor
Well my editor is in the terminal, so is my chatbot. I dont really want to change to an IDE to use a desktop app and a chatbot that both have half-baked UIs trying to complement each other.
For many of us, the plus of the CLI form factor is it doesn't tie us to a particular IDE.
Just a heads up that this is completely broken as of 2.0.76.
Dug through their obfuscated JS and it looks like they forgot to re-add a function call in the LSP manager initialize function that actually adds/indexes the lsp registered from plugins.
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
Did it make no difference when you mentioned in your AGENT.md which LSP servers are installed?
I guess supporting tool call natively would improve read token efficiency since they can just run the tool directly
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:
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.
You could use a CLI frontend for LSP, e.g. https://github.com/valentjn/lsp-cli
But why would that be better than LLMs using the LSP with a dedicated tool rather than a shell command tool?
CLIs don't use context space when unused. I find them almost universally preferable just because of that.
Models get stupid after the first 80-100k tokens are used so keeping bloated tools out of the window unless completely necessary is a pretty hard requirement for effective AI use IMO.
Well you need to use context space somehow, to tell Claude that the LSP CLI exists and how to use it.
It takes a dozen tokens to put "when you need to do X, run `foo --help` and use it" in your CLAUDE.md.
Plenty of MCPs and plugins and whatnot out there idly consuming 5-25k tokens 24/7. How is that the same?
Because you can enable/disable MCPs and plugins just like you can choose not to include that context in CLAUDE.md .
I do it all the time. I have several MCPs configured but only enable them on demand.
So they moved coding AIs from the IDE into a standalone CLI and now are building an IDE around the CLI?
What I've wondered about is whether there is a use in having an LLM that operates on AST symbols (or some IR representation) as input and/or output. It would be language specific of course (though maybe using something like MLIR is somewhat portable), but I would think it would result in a higher quality neural network, a reduction in tokens, etc.
it doesn't seem to mention anything on using the LSP for linting/typechecking? That's what I really want, instead of my unholy combo of post edit hooks and claude.md "PLEASE PLEASE PLEASE run type checking and linting before you think everything is done..."
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.
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).
The cadence of the Claude Code team is pretty impressive. I count 57 releases since 2.0 (which was less than 3 months ago), and most of these had significant new features.
I hate everything about the Claude code plugin system. They saw GitHub Actions supply chain Fiasco and said: great let's add hallucinations on top.
It's that bad. It's embarrassingly bad.
No lock files. Nothing. And then most plugins in turn install MCPs from pypi with uvx so you have two layers of no pinning.
It's a supply chain nightmare. It's so bad that I'm ashamed for our industry
Nix plus flakes (and optionally devenv) is such a great baseline to operate agents in. So much less thinking about dependencies on various runtime platforms, and you get pinning out of the box.
Doesnt support windows though.
Yeah uvx gets abused out of its convenience. uv has many useful features like dev dependencies and inline dependencies, that are much more reliable than uvx.
One tip for in-line dependencies: set a max date to lock your packages - reliable and simple for small scripts.
and then it runs out of home directory and slurps up your secrets.
its completely asinine to install npm globals these days, especially one that is such a juicy supply chain attack target
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
still distributed as an npm global that runs out of your home directory.
insane way to distribute a core product considering the state of npm.
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.
Hi, work on Claude Code here! Let me know if you have any feedback!
That tool search tool y'all announced recently - huge upvote for getting that into Claude code.
How do I get Claude to start using the LSP? I've got go, kotlin, swift and typescript projects that might benefit.
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.
LLMs should operate on the code's AST when possible, and should be trained on code's AST as well
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.
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.
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.
I removed the locks directory which fixed it
Yeah, I uninstalled and reinstalled with homebrew, and it’s working well now.
Always have a lot of sessions running locally and don’t recall this
Uninstall it and install it via home brew fixed it for me.
Just discovered https://plugins.jetbrains.com/plugin/29174-ide-index-mcp-ser.... Its MCP, but still better than nothing.
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.
You don't want to run tests after every file change, because that will distract Claude from finishing whatever it's doing and add noise to the context window. Of course the tests will be broken if Claude hasn't finished the full change yet.
Running tests makes most sense on the Stop hook event, but personally I've found CLAUDE.md instruction of "Run `just check` after changes" to be effective enough. The Stop hook has the issue that it will run the checks every time Claude stops responding, even after without any changes.
Won't the LSP distract Claude too? I am trying to think of ways to make Claude faster at iterating by reducing tool calls. That always seems to be a bottleneck when it's doing tons of back-and-forth with tool calls.
Depends on Anthropic has implemented it I guess. I haven't had it activate yet despite the prompt to install an LSP.
Yes, you can do this with hooks: https://code.claude.com/docs/en/hooks
Back when I was using CC, I had a "mandatory" development workflow that checks if the corresponding test file exists for the changed file, runs tests and runs the test coverage tool for the changed file.
It has been in the source code for like two months. I've been using it for a while now.
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 :)
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?
A big use case will be to tell the LLM what the type of an expression is.
Any idea if this is planned for Codex as well?
As far as I know Claude models in VSCode + GitHub Copilot have had this for months now.
Seems like SCIP would be a better fit, although not as widely supported by languages I suppose.
Does this mean Claude Code can be a consumer of this information or a provider?
Maybe whynotboth.gif?
I mean, OpenCode has had this feature for a while: https://opencode.ai/docs/lsp/
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.
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.
No rename symbol? What am I missing? It seems like a no brainer.
References + a few extra steps will give you rename symbol. Anthropic is seemingly wanting to experiment with this - so it makes sense to limit the integration points.
dumb question,how to use it? claude is a cli tool,not an editor,why is lsp relevant?
It’s breathtaking how fast Anthropic / Claude Code team ships.
They are definitely coding in a LLM maximalist way, in a good way.
I came here just to say that. The commit history on that changelog blew me away.
No Python LSPs yet!
1. https://docs.astral.sh/ty/
2. https://github.com/microsoft/pyright
3. https://github.com/python-lsp/python-lsp-server
4. https://github.com/palantir/python-language-server
There's pyright-lsp. Isn't this a Python LSP ? or is it lacking important features ?
What does the terminal integration mentioned do?
I believe it’s to do with supporting shift+enter (to do multiline prompts).
https://github.com/anthropics/claude-code/issues/1259#issuec...
Every once in a while it runs 'sudo rm -rf /'.
Every once —
How to use this new feature?
I should know this, but what's LSP? Language Server Protocol - I can read. But what's that?
It's the protocol that VSC made to speak to programs that do code analysis and is the basis of goto definition, autocomplete, refactorings etc.
It's used by most smaller editors so they can backpack off of the efforts languages make to be usable in VSC. (Vim, Emacs, Zed, etc)
Also diagnostics (errors, warnings), inlay hints like types and parameters, code lens (tiny embedded buttons), symbols, notifications like “document changed”, and more
I’m curious what the benefit of this is over running away, cursor ide with the Claude agent?
Interesting. I develop two projects and maintain a few. I haven't opened an IDE within the past two weeks. What do you do with an IDE? Stare as code is written, refactored, tested and debugged automatically?
Same here, I'm a bit apprehensive admitting it. Thanks for going first.
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?
As part of a bigger refactor, you want to rename some variables. With an LSP hook, the LLM can make the change (more) reliably.
The LLM wants to see the definition of a function. More reliable than grepping.
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.
But what is the benefit for Claude Code? You don't write code in Claude Code so why would I need autocomplete or jump to definition? Does Claude itself use them instead of e.g. grepping? Struggling to understand how it helps.
I'd like to know what more of the use cases are too, but one would be for doing renaming operations where the LSP understands the code and will tell the caller exactly what edits to make to which files. So I assume with LSP integration you could then ask Claude Code to do the rename, and it would do it per LSP instructions rather than itself having to understand the source code and maybe doing a worse job.
> Does Claude itself use them instead of e.g. grepping? Struggling to understand how it helps.
That would be the idea.
Your test suite and linter don't code. They don't help your agent look up definitions of variables, etc.
Ah, it's about making language documentation available, and making crawling the app for understanding cheaper/more direct?
It's like making your IDE available to them.
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.
Serious question, does this mean it will support Roslyn? Or will they "bake their own" version?
Doesn't seem to work with Zig?
Has anyone checked that it actually works before posting it here? lol
Anthropic/Clause has the absolute worst UX among all the major AI products.
Just try copy-pasting text, say a prompt from a notes app or a text file.
and they completely ignore all complaints. Why would anyone use this crap as opposed to ChatGPT etc.?
Hard disagree. They have the best UX in the industry
These comments sound like paid PR.
I literally just gave an example.
I keep AI prompts in Notes for using with different chatbots. You can paste them normally into ChatGPT etc but Claude mangles them up.
Claude doesn't let you buy a subscription from the iOS with an In-App Purchase, you have to enter your card, and then they don't let you remove your payment info. It's just sitting there waiting for the eventual data breach.
Sign in with Apple on iOS, but only Sign In With Google on the web. Guess how you log in on desktop if you signed up on the phone.
They have that "I'm special" syndrome where they think they can ignore the most basic conveniences that every other product does.
(Talking about Claude not Claude Code, but the Claude web UX was so crap and Code's output for Godot so useless that I didn't even bother trusting Code for more than 1 day)
What language are you using with it for Godot? I'm using C++ with Unreal5 and Claude seems pretty good at it TBH. I don't disagree that it has some rough edges.
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.
How is that relevant?