Back

Anthropic, please ship an official Claude Desktop for Linux

186 points3 hoursgithub.com
aaddrick3 hours ago

Hey!

I manage the unofficial build at https://github.com/aaddrick/claude-desktop-debian

Debian is in the name, but scope has grown to all backends, compositors, etc.

The main reason must companies don't publish Linux electron apps is fragmentation. If you're doing anything more than rendering a webpage as an app, it starts to get complicated. I've got a bank of VM's setup for testing, and I still need it up.

Aurornis1 hour ago

> The main reason must companies don't publish Linux electron apps is fragmentation. If you're doing anything more than rendering a webpage as an app, it starts to get complicated.

Can confirm. At a past company we worked hard to release a Linux desktop client for our customers who wanted it, even though the number was small.

It turns into compatibility hell very fast. You think you can target a couple recent Ubuntu releases and everything will be good, but then you’re getting peppered with complaints from people using distributions you’ve never heard of because some part of the app isn’t working right. So your engineers spend a half day installing that in a VM and debugging it, but the problem is in upstream somewhere. The number of tickets with Linux issues keeps growing and each one is taking more time to debug, all for a number of customers that is so small you can’t justify doing it.

But those customers are angry. And vocal. They’re posting all over Twitter, Hacker News, and Reddit about how your company’s software is garbage, without mentioning that they’re running an unknown distribution on a 13 year old ThinkPad.

This even impacts open source projects. Several popular OSS Electron apps don’t work on many popular distros unless you set some command line workarounds, and even then it’s flakey. The open source projects get a pass because it’s open source, but if your company releases something you might be picking up a lot of angry, vocal customers that you didn’t want.

jareklupinski55 minutes ago

> they’re running an unknown distribution on a 13 year old ThinkPad.

"Tony Stark can do it in a cave! With rocks!"

nbardy1 hour ago

This does feel like the perfect setup for Claude though.

Much easier to create a vm testing swarm of 100 disitributions with llms

seabrookmx1 hour ago

Flatpak mostly solves this for GUI apps.

Aurornis57 minutes ago

It does not. You just get more vocal angry customers who hate Flatpak and hate you for using it.

Normal_gaussian39 minutes ago

This feels analogous to the old Google latency improvement story - improve performance and p99 goes up, not down, because more people are now able to use your product.

These angry customers are a symptom of having more customers; in this direction (compatibility) companies shouldn't be KPI'ing on angry customers.

It is very legitimate that high compatibility means more very obscure, low value, high cost, bug reports that are hard to classify as such. And my gosh, I hate working with rude ticket writers.

asveikau52 minutes ago

Can confirm, I hate flatpak

hparadiz52 minutes ago

You compile for the lowest possible Linux kernel and bundle your libs. Don't use container formats for stuff like this. tar.gz with an installer script is king.

I dunno why this is always so difficult.

WD-421 hour ago

> The main reason must companies don't publish Linux electron apps

But they do? Companies don’t publish anything BUT electron apps. If desktop Linux gets anything from outside of FOSS, it’s electron. See Spotify, discord, slack, vscode… list goes on. I don’t think a for profit company has provided a GTK or qt app for Linux in the last 20 years.

I applaud your efforts but this is a supposed trillion dollar company with a product that probably has thousands of electron apps in its training set. They should be paying you.

Aurornis1 hour ago

Electron apps don’t work well across all of the Linux distributions if you’re doing anything that isn’t very simple.

The comment was that the Electron apps aren’t being released for Linux even when they exist because Linux is so much harder to support, even in Electron.

If they don’t have resources (or desire) to keep the Electron app working on all the Linux distros then they definitely won’t have the resources to write a completely separate GTK app for the few Linux users.

WD-4230 minutes ago

Anything that isn’t very simple? Like a llm chat interface? If zoom and Microsoft Teams of all people can do it, anthropic should be able to.

Have you considered that maybe their code is just bad?

seabrookmx59 minutes ago

Have you considered flatpak support? I know it's has its rough edges, but I use many apps across arch/Fedora/Ubuntu that are delivered as a single flatpak.

aaddrick3 hours ago

Still mess it up*

Swipe keyboards on mobile are awful, but I can't break that habit.

Normal_gaussian34 minutes ago

The old minuum keyboard was fantastic; now I'm forced to use a swipe keyboard I'm constantly making mistakes - but at least its faster than pecking.

tasuki1 hour ago

We have basically achieved AGI, but typing on mobile is still an unsolved problem. GBoard's dictionaries for Czech and Polish are still missing many usual declensions...

Kye2 hours ago

For future reference: you can edit posts for up to 2 hours.

Normal_gaussian35 minutes ago

Is that not karma gated?

freedomben2 hours ago

Nice, you have RPMs and DEBs in a remote repo we can add! Thanks for making it so easy to use :-)

Also, I can't break the swipe keyboard habit either. It's the worst, but still better than the alternatives. Someday I hope physical keyboard makes a return (but I"m not holding my breath)

roryrjb2 hours ago

If OpenCode can do it, then Anthropic can do it.

jkwang2 hours ago

[flagged]

sgt2 hours ago

Biggest problem with Linux apps - i.e. distributed with ease the way that Windows and macOS apps are distributed, is the lack of a stable ABI. If you asked me about this 20 years ago I'd say in 2026 there'd for sure be a stable ABI, but no.

seabrookmx51 minutes ago

Everyone parrots this but I don't think it's true. The Linux kernel does famously have a stable ABI (we "don't break user space" after all).

The issue is folks expect this to be at a higher level, so when libc or GTK or Qt etc. have breaking changes, all your apps using the old versions fail. This is a legitimate pain point with traditional distros.. I don't want to sound like I'm downplaying it.

However, this is basically solved by flatpak (and others like it, eg snap) which contain _all_ these dependencies in the package. Layering (ala containers) is used for deduplication so you don't have 20 copies of a given GTK version.

While MacOS provides the windowing toolkit etc. at the OS level, it's otherwise similar to how a .app file works. Installers aren't dropping dynamic libraries and resource files all over your disk, the app is "self-contained."

WD-4257 minutes ago

This isn’t an issue in practice because the software running on Linux is open source. Yes if you want to distribute proprietary binary blobs and have them work forever it’s going to be a challenge, but in that case better to stick with the binary blob operating system.

est312 hours ago

The stable Linux ABI is Win32 provided by Wine.

Retr0id3 hours ago

If only Anthropic had some kind of automated tool that was good at porting software

ameliaquining2 hours ago

It doesn't sound like that's the bottleneck.

smrtinsert2 hours ago

Sorry that's not the use case anymore its about (checks notes) "forward deployed engineers", yep that's it. Go build!

cookiengineer2 hours ago

You forgot the *allegedly in there.

Lionga3 hours ago

Use the existing Slop they have that needs 1GB of Ram for a simple Terminal app to create an even more slopped Linux app... If only they had any devs at their 500K and way up pay package that could actually write a simple app, that you know does not suck.

lioeters1 hour ago

Those highly paid human devs are hard at work on the Torment Nexus, which is their priority of course, you don't want China to win do you?

delduca2 hours ago

You’re asking too much.

himhckr38 minutes ago

Not exactly Claude Desktop but we have something more "generic" that works across multiple OSes (written in Tauri) - Msty Claw [1]. It also comes with a companion E2E encrypted mobile app.

[1]: https://msty.ai/claw/features

shanewei3 hours ago

What do you miss from the Desktop app that the CLI doesn’t cover? I’m mostly on Linux too and have just been using the CLI, so I’m curious.

SyneRyder3 hours ago

I don't think the CLI offers daily routines under the Anthropic subscription anymore?

There's also the cross conversation memory search, which uses a different conversation dataset (the Claude Web / Claude.AI conversations) than Claude Code does. I'm not even sure Claude Code does cross conversation search?

The Desktop interface also presents Markdown as formatted text and presents artifacts (especially interactive ones) better than the CLI can.

All that said - I actually use the CLI for nearly everything (even on Windows). Rather than use Claude Desktop for daily "routines" that are capped at 15 total cron-jobs and use extra usage credits, I think I'll continue building my own minimal harness and move my routines to models from other providers.

Avicebron2 hours ago

> All that said - I actually use the CLI for nearly everything (even on Windows).

I also haven't touched routines, but I use cc to write automation tasks that will integrate a model when I need an inference layer. Which I also did before routines..

Have people actually been using routines effectively?

filoleg2 hours ago

> I don't think the CLI offers daily routines under the Anthropic subscription anymore?

It (Claude Code) does, I discovered it by accident recently, having never used daily routines before. Haven't touched Claude Desktop at all, outside of playing with it for 30 mins or so months ago.

TLDR: I used Claude Code to build a command that scrapes job postings from a few employers I am interested in (it is a bit more complicated than that, but that's the gist). At the end CC asked me "do you want me to re-run it daily?" I said yes, and it generated a daily routine and gave me a URL to my anthropic account page where I can see all my daily routines.

There, it says that I am currently using up 1 out of 15 "free" daily routines that come with my personal subscription, and I would have to pay extra if I want to have more than 15 active at a time (I assume by switching to per-token pricing for anything beyond 15, but not sure).

tstrimple3 hours ago

> There's also the cross conversation memory search, which uses a different conversation dataset (the Claude Web / Claude.AI conversations) than Claude Code does. I'm not even sure Claude Code does cross conversation search?

This is one of the first things I “fixed” with skills and hooks. I index every conversation in SQLite and have a skill which knows what to do when I ask it to search the index. I had to avoid the word memory because it’s too tied up in other parts of the context. It even indexes across my different machines. I set this up because I have terrible context discipline. I’ll go off on a tangent in one context and start planning and sometimes implementing something based on that thread which really deserves its own context. Afterward I can create the new context and move relevant bits to it, but I’d lose that initial starting conversation which inherently has more data than the summary in the new context.

I also use a few different related contexts. One where I’m building a game engine in zig and another talking about game ideas. There’s a lot of back and forth going on there which needs some shared context. I solve this with a combination of Claude.md references and that searchable session index.

Everything I do with scheduled tasks are just wired up with systemd and simple scripts. No LLM in the critical execution path. Again a skill tells CC how I manage those scheduled things so I just have to say something like “run this every day at midnight” and CC has reliably taken care of the rest.

Recursing3 hours ago

1. Same experience as my non-Linux coworkers, so we can share learnings and processes

2. Scheduled tasks that run locally ( https://support.claude.com/en/articles/13854387-schedule-rec... ) importantly different from Claude Code routines

3. Multiple projects/isolated memories in the same folder

4. Better UI

nozzlegear2 hours ago

> Scheduled tasks that run locally ( https://support.claude.com/en/articles/13854387-schedule-rec... ) importantly different from Claude Code routines

What do people do with these? I don't use Claude but when I did I couldn't think of anything useful to do with the routines. I'm probably not being imaginative enough.

baq2 hours ago

I’d like the thing to read my mail twice a day and tell me if I missed something important.

Haven’t set it up because I’m horrified by the thought of it reading my mail. Doubly so if it decides to do anything other than telling me if I missed something important.

Recursing2 hours ago
dahkenangnon3 hours ago

The CLI is good for coding tasks but for other things non coding related, having the desktop app can be very useful

davydm3 hours ago

Mainly: true sandbox separation. I don't want the model having full access to my machine. With a dump format that Claude understands, I'm able to pass only the files I want Claude to see, and he can't break any of them. I don't care about setting up access lists and so on. I don't trust that the cli product will be properly sanboxed and it's quite clear their software offerings are largely aigen code, and I catch bugs from Claude every day. I also get useful stuff, so it's worth it, but definitely not worth it, imo, to grant it any access to my machine.

mathstuf3 hours ago

There are a number of utilities for this. I use jai: https://jai.scs.stanford.edu/ but also have seen nono: https://github.com/always-further/nono smolvm: https://github.com/smol-machines/smolvm zerobox https://github.com/afshinm/zerobox and matchlock https://github.com/jingkaihe/matchlock

They all have pros and cons. Pick the one that suits you best. Then you're also agent harness flexible (I use opencode).

sophrosyne421 hour ago

I would like a solution that was itself not largely written by an AI

johnsonjo2 hours ago

As a jai and linux user, myself, looking at nono's os-sandbox (from here [1]) it seems nice too. Thanks for the recommend I was looking for something that might be nice on Mac and nono seems good to recommend to coworkers and the like.

[1]: https://nono.sh/os-sandbox

jeena3 hours ago

I made myself a very simple one from the start when I realized it can access everything on my computer https://git.jeena.net/jeena/agent-container my goal was that it would work transparently and the paths and user, etc. would be just the same as on the host but inside of a docker container.

johnsonjo3 hours ago

I've been using jai [1] for sandboxing on linux (although I use opencode and local models and not claude code) and I'm pretty satisfied with it. It comes in three different modes [2]: casual mode, strict mode, and bare mode. Here's some descriptions of each mode:

Casual mode [3]: > Your home directory is mounted as a copy-on-write overlay. The jailed process sees your real files, but writes go to $HOME/.jai/default.changes instead of modifying originals, except in the directory where you ran jai. Your current working directory grants full read/write access to code in the jail (unless suppressed with -D). So files deleted there are really gone. /tmp and /var/tmp are private. The rest of the filesystem is read-only.

Strict mode [4]: > The process runs as the unprivileged jai system user, not as you. Home directory is an empty private directory at $HOME/.jai/<name>.home. Granted directories (via -d or cwd) are exposed with id-mapped mounts — files look like they are owned by jai inside the jail. Because the process has a different UID, it cannot read files outside your home directory that are only accessible to your user — this is where confidentiality comes from.

Bare mode [5]: > Home directory is an empty private directory, like strict mode. But the process runs as your user, not as jai. This means it cannot provide confidentiality — the process can still read any file accessible to your UID outside the home directory.

I've always ran my stuff in casual so far just so my whole computer doesn't get rimraffed :P. but I'm thinking of switching to just strict mode, but haven't really vibe coded in a while so I haven't tried it yet.

[1]: https://jai.scs.stanford.edu/

[2]: https://jai.scs.stanford.edu/modes.html

[3]: https://jai.scs.stanford.edu/modes.html#casual-mode

[4]: https://jai.scs.stanford.edu/modes.html#strict-mode

[5]: https://jai.scs.stanford.edu/modes.html#bare-mode

mkagenius49 minutes ago

[dead]

_aavaa_3 hours ago

If you don’t trust the CLI version to be properly sandbox d, why would the desktop one be?

WhyNotHugo3 hours ago

The cli works on regular sandboxes just fine (podman, docker, bwrap, etc).

Sandboxing a GUI is typically more operational overhead than sandboxing a cli (mounting compositor sockets, GPU access, etc).

notsirius3 hours ago

does claude desktop actually solve this issue? I’m on mac and use docker sbx to solve this https://docs.docker.com/ai/sandboxes/get-started/

FergusArgyll2 hours ago

On Linux you have bubblewrap!

raverbashing3 hours ago

Or, what does the Desktop app does that the webpage doesn't do?

pacificat0r36 minutes ago

How can they? They are busy designing agentic loops. They ship 8x more lines of code!!!

taspeotis2 hours ago

Personally I don’t understand why Claude Code doesn’t have a mode to make text green and characters come down from the top of the screen individually, like in The Matrix.

gaiagraphia43 minutes ago

Massively bugs me. I have to wear green sunglasses, change the language to Japanese, and turn my monitor sideways to get any real work done nowadays.

robrain3 hours ago

Just one-shot vibe it for yourself.

Lame, I know, but you have to entertain yourself sometimes when the only thing anybody talks about here is ruddy spicy autocorrect and self-inflicted job destruction.

witx2 hours ago

> self-inflicted job destruction

Glad someone else sees this as well in this crappy website

kentf1 hour ago

Our app, Runner: Cowork++

Supports linux :)

https://runner.now/

skeledrew3 hours ago

YES! But also hmm, maybe not. I literally installed the unofficial build[0] a few hours ago, and when I started it and saw a bunch of Electron processes immediately trigger my spawn swarm detector, I just closed it. Don't think I'll ever touch it again.

[0] https://github.com/aaddrick/claude-desktop-debian

aaddrick3 hours ago

Hey!

That's me, and that sounds weird. Mind giving stone more details so I can help get to the source of it? Or just submit an issue on the repo. Should just be one main electron process.

aaddrick3 hours ago

Some more details*

zoba2 hours ago

Also can you please make it easy to switch between my work and personal accounts on mobile!

steezeburger2 hours ago

Yeah that would be great. I seriously don't understand how a company with this much money doesn't have some of the more basic ux implemented to make it a really great app. Blows my mind.

bytepursuits2 hours ago

I thought going into ipo they were selling the idea that claude is already build claude.

JSeiko2 hours ago

Yes please! I think it's just kinda weird that this hasn't been done yet.

predkambrij3 hours ago

Cowork already boots Ubuntu 22.04 internally on macOS. The Linux execution path exists inside the product. What's missing is a published build.

jeremyjh2 hours ago

If you feel that strongly about it, why not write the issue description yourself?

shmoil2 hours ago

>> Anthropic, please ship an official malware for Linux

Here, fixed it for you.

dstnn2 hours ago

You're better off just using code cli

cyanydeez3 hours ago

Why would they do that with their...checks notes...software changing AI?

gaiagraphia1 hour ago

Anthropic one-shotting a Linux distro would be quite the ad...

Perplexity are devleoping Comet as an AI-powered browser. I wonder if anybody will take the OS leap.

dahkenangnon3 hours ago

We are all waiting for it.

coretx2 hours ago

Why dont you ask Claude to write you a TUI ?

JohnHaugeland3 hours ago

just use WINE or docker

syllogistic3 hours ago

> Just use WINE

Did you just tell me to go fuck myself ?

xdavidliu2 hours ago

pull requests are welcome

znpy3 hours ago

That will come the year after the year of linux on. The desktop /s