Anthropic ships an official Claude Desktop for Linux, but only as a .deb for Ubuntu and Debian. Fedora is not on the list. Good news: we don’t care. We run a tiny Ubuntu inside Fedora with Distrobox, install the official package there, and pin the app to the GNOME dock like it was always there.
How it works
Distrobox is a thin layer on top of Podman. It creates a container that shares almost everything with your host: your home directory, your display, your sound, your session bus. Apps inside the container feel native. The only thing that lives in the container is the operating system itself, which is exactly what Claude Desktop wants.
Fedora (host)
└── Distrobox container "claude" (Ubuntu 24.04)
└── claude-desktop (official .deb from Anthropic)Installation
Install Distrobox
Fedora Workstation already ships Podman, so Distrobox is the only thing missing.
sudo dnf install distroboxCreate the container
distrobox create --name claude --image docker.io/library/ubuntu:24.04 --no-entryInfo
Without
--no-entry, Distrobox adds a launcher called “Claude” that opens a terminal inside the container. That’s easy to confuse with the real app.
Hop inside to finish the first-time setup. This takes a minute the first time.
distrobox enter claudeYour prompt changes, but your home directory is the same. You’re now in Ubuntu. sudo works without a password in here.
Install Claude Desktop
Everything in this section runs inside the container.
Install the tools to fetch the signing key.
sudo apt update && sudo apt install -y curl gnupgDownload Anthropic’s signing key and check it.
sudo curl -fsSLo /usr/share/keyrings/claude-desktop-archive-keyring.asc https://downloads.claude.ai/claude-desktop/key.asc
gpg --show-keys /usr/share/keyrings/claude-desktop-archive-keyring.ascInfo
The fingerprint should be
31DDDE24DDFAB679F42D7BD2BAA929FF1A7ECACE. If it isn’t, stop and figure out why.
Add the repository and install.
echo "deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/claude-desktop-archive-keyring.asc] https://downloads.claude.ai/claude-desktop/apt/stable stable main" | sudo tee /etc/apt/sources.list.d/claude-desktop.list
sudo apt update && sudo apt install -y claude-desktopPut it in the app grid
This is the step that makes it feel native. distrobox-export copies the app’s launcher from the container to your Fedora desktop.
distrobox-export --app claude-desktopType exit to leave the container. Open the GNOME overview, search for Claude (on claude), and pin it to the dock. Clicking it starts the container in the background and opens the app. No terminal needed.
Sign in
Launch the app and sign in with your claude.ai account. Your browser opens, you log in, and the browser hands you back to the app through a claude:// link. Your login is stored in GNOME Keyring on the host, so you only do this once.
Tip
If the browser asks which app should open the
claude://link, pick Claude.
Things to know
- Claude Code runs inside the container. The Code tab sees your real home directory and all your projects, but the tools it uses (
git,node,go, …) come from Ubuntu. Install what you need withaptinside the container. - Cowork needs virtualization. Cowork runs its tasks in a small VM with QEMU and KVM. Add yourself to the
kvmgroup on the host withsudo usermod -aG kvm $USERand log out and back in. If Cowork still complains, Chat and Code work fine without it. - No Computer Use, no dictation. These are missing from the Linux beta itself, Distrobox has nothing to do with it.
Updating
The app does not update itself on Linux. Update the whole container from the host:
distrobox upgrade claudeTroubleshooting
Clicking the login link does nothing
Your host doesn’t know which app handles claude:// links. Find the exported launcher and register it.
ls ~/.local/share/applications | grep -i claude
xdg-mime default <launcher-name>.desktop x-scheme-handler/claudeAsked to sign in every time
The app can’t reach a keyring. Check that GNOME Keyring is unlocked on the host. Fedora Workstation unlocks it when you log in, so this mostly happens after auto-login.
Cowork says it requires the vhost_vsock module
Load it on the host.
sudo modprobe vhost_vsock
echo vhost_vsock | sudo tee /etc/modules-load.d/vhost_vsock.confUninstall
distrobox enter claude -- distrobox-export --app claude-desktop --delete
distrobox rm claudeYour settings stay behind in your home directory under ~/.config/Claude. Delete that folder too for a clean slate.