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.
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)
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.
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.
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.
> 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?
> 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).
> 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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Still mess it up*
Swipe keyboards on mobile are awful, but I can't break that habit.
is your previous post still within the edit window? (30 minutes I think?)
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)
For future reference: you can edit posts for up to 2 hours.
If OpenCode can do it, then Anthropic can do it.
If only Anthropic had some kind of automated tool that was good at porting software
It doesn't sound like that's the bottleneck.
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.
You’re asking too much.
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.
Yes please! I think it's just kinda weird that this hasn't been done yet.
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.
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.
> 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?
> 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).
> 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.
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
> 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.
Some good ideas here: https://posthog.com/blog/making-claude-cowork-actually-usefu...
The CLI is good for coding tasks but for other things non coding related, having the desktop app can be very useful
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.
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).
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
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.
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
If you don’t trust the CLI version to be properly sandbox d, why would the desktop one be?
On Linux you have bubblewrap!
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).
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/
Or, what does the Desktop app does that the webpage doesn't do?
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.
> self-inflicted job destruction
Glad someone else sees this as well in this crappy website
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
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.
Some more details*
Also can you please make it easy to switch between my work and personal accounts on mobile!
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.
If you feel that strongly about it, why not write the issue description yourself?
Cowork already boots Ubuntu 22.04 internally on macOS. The Linux execution path exists inside the product. What's missing is a published build.
>> Anthropic, please ship an official malware for Linux
Here, fixed it for you.
We are all waiting for it.
Why would they do that with their...checks notes...software changing AI?
just use WINE or docker
> Just use WINE
Did you just tell me to go fuck myself ?
pull requests are welcome
That will come the year after the year of linux on. The desktop /s