My main development machine runs Linux. The Claude desktop app doesn’t.
At the time of this writing, there’s no official Linux build. The download page only offers macOS and Windows, and the docs say it plainly: “The desktop app is not available on Linux; use the CLI instead.”1
The CLI is fine, and I use it constantly. But it only covers the coding side.
What Cowork does
The desktop app adds Cowork, and that’s the part I didn’t want to give up. It’s built for knowledge work, not code: it reads and writes files in folders you point it at and connects to tools like Slack, Jira, and Microsoft 365 to do the task, not just describe it.2
You can schedule recurring work, like a morning email scan or a weekly Slack digest, and set the cadence once. And with Dispatch you start a job by text or voice from your phone, and the results are waiting when you get back.
None of that lives in the CLI, and none of it ships on Linux.
The workaround
Run the desktop app on a Windows or Mac machine and connect it to the Linux machine over SSH. The Code tab supports a remote SSH host natively, so the interface runs there while the actual session, project files, and commands run on Linux. Nothing gets copied back and forth. Claude is just working on the remote machine.
Before you start
You need SSH already working from the Windows or Mac machine to the Linux one. Set up key-based auth so you’re not typing a password every session.
Confirm it works from a terminal first:
ssh user@host "uname -s && whoami"
If that returns Linux and your username without prompting for a password, you’re ready. If it doesn’t, fix the SSH connection before touching the app. The desktop app won’t fix a broken SSH setup for you.
Setup
Setup is a handful of clicks.3
- Open the desktop app on your Windows or Mac machine and go to the Code tab.
- Click Where Claude runs below the prompt box.
- Under the SSH section, choose Add SSH connection.
- Fill in the dialog:
- Name: anything that tells you which machine it is.
- SSH Host:
user@hostname-or-ip. - SSH Port: leave blank for the default 22.
- Identity File: leave blank if your key is in the default location.
- Pick the folder on the Linux machine you want to work in. That becomes the session root.
- Trust the workspace when it asks.
From there it behaves like a local session, except every file read, command, and edit happens on the Linux box.
The one thing that trips people up
Always put the user@ in front of the host. If you enter a bare IP address, the app assumes your local username, and the connection fails on any Linux machine where that account doesn’t exist. I lost a few minutes to this before I caught it.
One more thing worth knowing: session history doesn’t sync across the desktop app, the web app, and the CLI. Each keeps its own list. If you start a session in the desktop app and later want it from the terminal on the Linux box, use /resume in the CLI there.
Anthropic, “Desktop application,” Claude Code documentation: Source โ ↩︎
Anthropic, “Claude Cowork”: Source โ ↩︎
Anthropic, “Desktop application,” Claude Code documentation, SSH sessions: Source โ ↩︎







