Published on [Permalink]
Reading time: 3 minutes
Posted in:

Why Claude still ships as an Electron app

Claude Code can write native Swift good enough to ship a Mac App Store app. Anthropic’s own Claude desktop app is still built using Electron - a web browser (Chromium) wearing a costume.

Electron bundles a full Chromium browser and a Node.js runtime inside every app, so one codebase renders on Windows, macOS and Linux instead of three native builds. It’s why Slack, Discord and (until recently) Notion feel identical everywhere. It’s also why they’re memory-hungry, slow to open and never quite right: patchy keyboard shortcuts, no proper native menu behaviour, battery life your MacBook resents.

Here’s the puzzle. Plenty of people outside Anthropic are using Claude Code to ship genuinely native Mac apps - Glenn Fleishman, Lex Friedman and Jason Snell among them. If the tool is this good in other people’s hands, why does the company that built it refuse to use it on its own flagship app?

John Gruber went looking for the answer and found it in one name: Felix Rieseberg, engineering lead for Claude Cowork and Claude Code Desktop. Rieseberg didn’t just work on Electron “back in the day” - he co-founded it and still sits on its governance board. Before Anthropic he ran the desktop team at Notion, and before that at Slack. Three Electron shops in a row.

Anthropic’s own Boris Cherny confirmed as much on Hacker News: “Some of the engineers working on the app worked on Electron back in the day, so preferred building non-natively.”

That’s not a technical constraint. That’s a staffing decision with a very long tail.

Notion, for what it’s worth, is now migrating to SwiftUI, a year after Rieseberg left for Anthropic. Electron is sap. It comes off eventually, just not quickly.


Which brings me to a smaller, dumber version of the same instinct: shipping without asking who it hurts.

Medicine has a rule for this: first, do no harm. Software updates should have the same rule and mostly don’t. Cowork’s project list used to let you sort by project name. The latest version only offers “Last updated” or “Date created.” Nobody asked whether removing that was worth it. It just quietly wasn’t there one day.

An Electron app nobody at Anthropic wants to fix and a sort option nobody meant to remove aren’t the same bug. But they come from the same place: an organisation that’s extraordinary at building software for other people and inconsistent at applying that same care to its own product. Next time an update lands, it’s worth checking not just what’s new. Check what you just lost.

Claude, as an AI engine is extraordinary, but as an app is sub-par. It needs some focused effort to bring it up to standard of Codex, a superior app, if not a better AI engine.

Sources:

✍️ Reply by email