Why doesn’t Anthropic use Claude to make a good Claude desktop app?
Anthropic's Claude desktop app is built using Electron, a technology that combines a web app with an instance of Chromium in a cross-platform executable.
Several apps use this technology: Microsoft Teams, Slack, Signal, Discord, Spotify, VS Code. Electron facilitates the creation and maintenance of apps for multiple operating systems using a common language, the same as the web version of these apps.
The negative side effects, however, are just as significant. Each open app consists of an additional Chromium running, which can saturate the computer's resources, slowing it down or crashing it. And although it is possible to make adjustments so that the application feels at home on each OS, few bother to do so. It looks like… a website, just in a separate window from the browser.
I don't use the Claude app. Those who do complain that it is as bad as other Electron apps. (Those touted as good, such as VS Code, are the exception.)
This is ironic coming from Anthropic, the AI company best positioned in the LLMs segment for programming. If they can generate a C language compiler written in Rust, one of the most complex types of software, why is the Claude app made with Electron instead of native apps for each OS?
The question prompted a post by Drew Breunig, which in turn sparked a long discussion on Hacker News, the Y Combinator accelerator forum that attracts developers and startup people.
Boris Cherny, Claude Code lead at Anthropic, appeared to justify the use of Electron:
Some of the engineers working on the app worked on Electron back in the day, so preferred building non-natively. It’s also a nice way to share code so we’re guaranteed that features across web and desktop have the same look and feel. Finally, Claude is great at it.
Without context, these are plausible (and common) arguments from companies that rely on Electron, but they sound strange coming from the same person who claims that “coding is largely solved”. In this context, previous experience and the gains derived from code reuse would, in principle, be irrelevant… right?
If “vibe coding” is already a reality, as Spotify's co-CEO and Boris from Anthropic claim, it matters little how familiar programmers are with a particular language. What matters is knowing how to instruct “AI agents” to generate software in the language best suited to the task. “Rewrite Claude's web app in three versions, for Linux, macOS, and Windows, using each system's native languages,” or something like that.
It is quite possible that Anthropic's AIs would come up with something usable if instructed to generate a native Claude application for each OS. This does not mean apps ready to be distributed to millions of people.
Drew, author of the post questioning Anthropic's choice of Electron, bets that it is the last 10% of development work, consisting of edge cases, unforeseen uses, and other real-world anomalies, that bar the widespread adoption of apps made entirely by AI.
OpenClaw is a good example of the risks: created with vibe coding, it is a security nightmare. And we haven't even touched on the tangential needs of software that is used by many people, such as maintenance.
Anthropic's developers probably use AI to program the Claude desktop app, but letting it work on its own seems a long way off. Balancing this reality with the company's marketing discourse is perhaps the most difficult part of the job. After all, if even Anthropic doesn't practice what it preaches, why should other companies follow its advice?