claude-desktop-fedora
Health Gecti
- License — License: Apache-2.0
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Community trust — 156 GitHub stars
Code Basarisiz
- rm -rf — Recursive force deletion command in build-fedora.sh
- rm -rf — Recursive force deletion command in build-official.sh
- rm -rf — Recursive force deletion command in copr/make-srpm.sh
Permissions Gecti
- Permissions — No dangerous permissions requested
Bu listing icin henuz AI raporu yok.
Claude Desktop for Fedora 44 — native RPM built from Anthropic's official Linux x86_64 build. Unmodified upstream payload, Chromium sandbox on, Claude Code + Cowork + MCP working.
Claude Desktop for Fedora 44
Install Claude Desktop on Fedora 44 as a native RPM, built from Anthropic's official Linux x86_64 build. Unmodified upstream payload, Chromium sandbox on, Claude Code and Cowork working. Tested on Fedora 44 with KDE Plasma (Wayland) and GNOME (Wayland); should work on Fedora 43 and later.
TL;DR: ./build-official.sh && sudo dnf install build/official/claude-desktop-*.rpm
Unofficial packaging. Anthropic ships the app; this repo only rewraps it for
dnf. If you hit a packaging bug, open an issue here, not with Anthropic.
Install Claude Desktop on Fedora 44
sudo dnf install rpm-build binutils file xz curl
git clone https://github.com/dewzor/claude-desktop-fedora.git
cd claude-desktop-fedora
./build-official.sh
sudo dnf install build/official/claude-desktop-*.rpm
Launch Claude from your application menu, or run claude-desktop. The launcher also ships two desktop actions: New Chat and New Claude Code Session.
The build runs entirely as your own user; root is only needed for the final dnf install.
Auto-updates via COPR
sudo dnf copr enable dewzor/claude-desktop
sudo dnf install claude-desktop-builder
claude-desktop-builder is a small MIT-licensed package. It does not contain Claude Desktop, and it never will. Claude Desktop is proprietary, so no repository is allowed to ship it. What the package ships is the build itself: build-official.sh, a claude-desktop-update command, and a systemd timer.
The timer runs once a day. It asks Anthropic's download endpoint which Linux build is current. If that build is already installed, it stops there and downloads nothing. If a newer build has shipped, it fetches Anthropic's own .deb on your machine, repackages the payload as an RPM, and installs it with dnf. You get exactly the package build-official.sh produces by hand, without having to remember to run it.
Run it yourself any time:
sudo claude-desktop-update --check # says whether a new build exists
sudo claude-desktop-update # rebuilds and installs if there is one
Removing the package leaves Claude Desktop alone:
sudo dnf remove claude-desktop-builder
Flatpak
There is a Flatpak too, for any distro. The manifest lives in its own repo, https://github.com/dewzor/ClaudeDesktop, and is submitted to Flathub (https://github.com/flathub/flathub/pull/9971). Until Flathub accepts it, build it yourself with the commands in that repo's README. Inside the Flatpak, Claude Code runs on the host through the Flatpak portal, so it sees your real git, node and python. The manifest started from gordonmessmer's com.anthropic.Claude and switched to extra-data so it can be hosted on Flathub.
What works on Fedora 44
| Feature | Status |
|---|---|
| Fedora 44, KDE Plasma (Wayland) | Tested |
| Fedora 44, GNOME (Wayland) | Tested |
| Claude Code tab (integrated terminal) | Working |
| Cowork | Working |
| MCP (Model Context Protocol) | Working |
| Chrome extension MCP bridge | Working |
| Native window frame | Yes, no patching needed |
| Chromium sandbox | Enabled (chrome-sandbox setuid 4755, no --no-sandbox) |
| System tray | Working |
| Auto-download latest Claude | Yes, via the official redirect URL |
| Architecture | x86_64 only (see FAQ) |
| Auto-update | Optional, via the claude-desktop-builder COPR package |
How the Fedora RPM is built
Anthropic publishes an official Linux build of Claude Desktop, but only as a .deb. The payload inside is ordinary, self-contained Linux content under /usr/lib/claude-desktop. Nothing in it is Debian-specific except the wrapper and dependency names.
build-official.sh:
- Resolves and downloads the current official
.debfromhttps://claude.ai/api/desktop/linux/x64/deb/latest/redirect(~165 MB; browser-shaped UA to satisfy Cloudflare) - Unpacks it and reads the version from the control file
- Verifies that
@ant/claude-nativeandnode-ptyare real ELF x86-64 objects, and fails loudly if not - Maps the Debian dependencies to Fedora package names
- Builds an RPM with
rpmbuild, preservingchrome-sandboxsetuid via%attr(4755,root,root) - Confirms the setuid bit survived into the package metadata
The payload is unmodified upstream content. No app.asar patching, no stubs, no injected CSS, no launcher wrapper.
Two Debian-specific postinst behaviours are intentionally dropped:
- The AppArmor
flags=(unconfined)userns profile. That one is only needed on Ubuntu 24.04+, which restricts unprivileged user namespaces. Fedora leaves them enabled. - apt repository registration.
Options
--deb PATH Use an already-downloaded .deb instead of fetching it.
--outdir DIR Where to write the finished RPM (default: ./build/official).
--release N RPM release field (default: 1).
--keep Keep the build tree for inspection.
Updating Claude Desktop on Fedora
The RPM does not auto-update. To pick up a new release:
./build-official.sh
sudo dnf install build/official/claude-desktop-*.rpm
The spec carries Obsoletes: claude-desktop < %{version}-%{release}, so a newer build cleanly replaces any earlier locally-built package, including ones from the legacy script.
MCP setup on Fedora
MCP servers are configured at:
~/.config/Claude/claude_desktop_config.json
Same format as macOS and Windows Claude Desktop. Drop in your mcpServers block and restart the app.
Logs live in ~/.config/Claude/logs/ (main.log, mcp.log, ssh.log, …).
Why not the Windows repack any more?
Earlier versions of this repo (build-fedora.sh, still in the tree) rebuilt Claude Desktop from the Windows installer: extract app.asar, swap the native module for a JS stub, patch the titlebar constants, bundle Electron 37. That worked through the 0.14.x era. Current releases can't be served that way:
@ant/claude-nativeis now hard-required for filesystem containment, and the app explicitly refuses to degrade without it:@ant/claude-native is required for safe-fs containment but failed to load; refusing to fall back to a path-based open (CC-2885).
A JS stub can't satisfy that, and the module also moved fromclaude-nativeto@ant/claude-native, so the old stub path is never even loaded. In a Windows repack the real module is a PE32+ DLL:ERR_DLOPEN_FAILED: invalid ELF header.node-pty: Claude Code's terminal needsprebuilds/linux-x64/pty.node. The Windows package only shipsprebuilds/win32-x64/conpty.node.
Net effect: the app starts, but the Claude Code tab does not work. The official Linux build ships both modules as real ELF x86-64 objects, and its native frame is already correct, so none of the old patching is needed.
Troubleshooting on Fedora 44
Exact error strings and what they mean. All of these are fixed by building with build-official.sh.
@ant/claude-native is required for safe-fs containment but failed to load / CC-2885
You're running a Windows-repack build (build-fedora.sh or any of the older Fedora scripts). Current Claude Desktop hard-requires the real native module and refuses to start Claude Code without it. Rebuild from the official Linux build.
ERR_DLOPEN_FAILED: invalid ELF header / Failed to load Claude Native
The claude-native-binding.node in your install is a Windows PE32+ DLL, not a Linux ELF object. Same cause as above, a Windows repack. Rebuild with build-official.sh; it verifies both native modules are ELF x86-64 before packaging.
Claude Code tab not working / blank / terminal never appears
Claude Code's terminal needs node-pty's prebuilds/linux-x64/pty.node. Windows packages only ship win32-x64/conpty.node. Rebuild from the official Linux build and check ~/.config/Claude/logs/main.log for [CCD] Initialized.
⚠ titleBarStyle pattern not found during build-fedora.sh
The legacy script's titlebar sed no longer matches current releases. It's harmless but it's also a sign you're on the wrong path. The official build already draws a correct native frame. Use build-official.sh.
Build fails with HTTP 403 / Cloudflare page
Anthropic's download endpoint sits behind Cloudflare and rejects non-browser user agents. build-official.sh sends a browser-shaped UA. If it still fails, download the .deb in a browser and pass --deb PATH.
'--ozone-platform=wayland' is not compatible with Vulkan
Chromium noise on Wayland sessions. Cosmetic; ignore.
Cowork says the VM sandbox is unavailable
Install the optional VM stack: sudo dnf install qemu-system-x86 edk2-ovmf virtiofsd. The RPM lists these as Suggests:.
Package conflicts with claude-desktop-unofficial
That's aaddrick/claude-desktop-debian's RPM, which adds a launcher wrapper and a --doctor. Both packages share ~/.config/Claude, so run one or the other, not both.
Legacy: build-fedora.sh
Kept for anyone who needs a 0.14.x-era build. It is no longer the recommended path and is not maintained against current releases.
sudo dnf install rpm-build p7zip nodejs npm
sudo ./build-fedora.sh
sudo dnf install build/electron-app/$(uname -m)/claude-desktop-*.rpm
Known limits on current releases: the Claude Code tab doesn't work (see above), and the titleBarStyle sed no longer matches (⚠ titleBarStyle pattern not found). History of what it did and why is in CHANGELOG.md.
FAQ
Does Claude Desktop work on Fedora 44?
Yes, tested on Fedora 44 with KDE Plasma (Wayland) and GNOME (Wayland).
Does it work on Fedora 43 or older?
It should. The payload is self-contained (bundled Electron), so the only real constraint is the runtime dependency list, which resolves on 43. Not actively tested. If you try it, open an issue with what you see.
Does the Claude Code tab work?
Yes. That's the whole point of the official-build path. Look for [CCD] Initialized in ~/.config/Claude/logs/main.log.
Does Cowork work?
Yes. Cowork's optional full-VM sandbox needs qemu-system-x86, edk2-ovmf and virtiofsd; they're listed as Suggests: in the RPM and are harmless to omit.
Does MCP work?
Yes. Config lives at ~/.config/Claude/claude_desktop_config.json.
Why x86_64 only?
Anthropic's direct-download endpoint only serves x86_64. An aarch64 build exists in their apt repo; if you need it, fetch that .deb yourself and pass it in with --deb PATH (the script currently refuses non-x86_64 hosts, patches welcome).
I see a Wayland/Vulkan warning in the logs
'--ozone-platform=wayland' is not compatible with Vulkan is Chromium noise. It's cosmetic.
The build fails with a Cloudflare 403
The script sends a browser-shaped User-Agent and Sec-Fetch-* headers to get past Cloudflare. If Anthropic changes the endpoint, download the .deb in a browser and use --deb PATH.
How do I uninstall Claude Desktop from Fedora?
sudo dnf remove claude-desktop
Credits
- @bsneed (Brandon Sneed): the original claude-desktop-fedora project this one grew out of.
- @sharpandpearl:
build-official.shand the analysis of why the Windows repack stopped working (#4). - @randy-johnson:
titleBarOverlayregex fix on the legacy script (#3). - @gordonmessmer: the com.anthropic.Claude Flatpak manifest that the one in
flatpak/is based on.
License
Dual-licensed under MIT and Apache 2.0. See LICENSE-MIT and LICENSE-APACHE.
The Claude Desktop application is not included in this repository and is covered by Anthropic's Consumer Terms.
Yorumlar (0)
Yorum birakmak icin giris yap.
Yorum birakSonuc bulunamadi