About this project

This project repackages Anthropic's official Claude Desktop Linux .deb with a security-hardening layer and ships it for Fedora/RHEL and Arch (plus a hardened .deb). It is unofficial and community-maintained, not affiliated with or endorsed by Anthropic. The application payload is Anthropic's official Linux build, unmodified; the project's contribution is the security wrapper and packaging. What it adds: - Enforced bubblewrap sandboxing: read-only system (/usr, /etc, /sys), device access limited to GPU (/dev/dri), KVM (/dev/kvm) and sound (/dev/snd), plus PID/UTS/cgroup isolation. $HOME is default-allow but credential and secret locations (~/.ssh, ~/.gnupg, ~/.aws, ~/.config/gcloud, ~/.azure, ~/.kube, ~/.docker, ~/.pki, keyrings, browser profiles) are overlaid with empty tmpfs. Escape hatch: CLAUDE_NO_SANDBOX=1. - Fedora/RHEL and Arch packaging, since the official build is Debian/Ubuntu-only. - Supply-chain hardening: official .deb pinned by SHA256, GPG-signed SHA256SUMS on releases, SHA-pinned CI actions, read-only token by default. - Bundled Claude Code CLI (claude command) and a claude-desktop-hardened --doctor diagnostic command. Installation options include Fedora COPR (dnf copr enable techtoboggan/claude-desktop-hardened), Arch .pkg.tar.zst from Releases (AUR publishing paused), a hardened .deb from Releases, a quick install script, or building from source with build.sh (requires Node.js 18-23, npm, root). Supported distros span RPM (Fedora 43/44, RHEL, CentOS, Rocky, AlmaLinux, Nobara), DEB (Debian, Ubuntu, Pop!_OS, Linux Mint) and Arch (Arch, Manjaro, EndeavourOS, CachyOS); x86_64 only. Post-install, --doctor checks Electron, chrome-sandbox permissions, bubblewrap, display server, Computer Use tools, MCP config, Claude Code CLI, Node.js and keyring. Optional Computer Use tools differ for Wayland (grim, slurp, wl-clipboard, ydotool, wlr-randr) and X11 (wmctrl, xdotool, scrot, xclip, xrandr). Wayland global shortcuts rely on the GlobalShortcutsPortal flag (KDE Plasma, Hyprland) or manual compositor binds. MCP servers are configured in ~/.config/Claude/claude_desktop_config.json. Custom model backends can be used for Code/Cowork agent sessions via standard ANTHROPIC_* environment variables, with recipes for LiteLLM, LM Studio, Ollama (through LiteLLM), OpenRouter, vLLM, Anthropic BYOK, and Bedrock/Vertex. A caveat notes the sandbox masks file-based cloud credential directories, so environment variables are preferred. The security model documents full network access inside the sandbox (needed for api.anthropic.com), credential masking rather than transcript scrubbing, and setuid chrome-sandbox for Electron's multi-process sandbox on the non-sandboxed fallback path. Supply-chain integrity covers version pinning files (CLAUDE_VERSION, TOOL_VERSIONS), CI shell lint, package smoke tests, source integrity scans, dependency scanning, automated update polling of Anthropic's apt index, and a release pipeline producing RPM/DEB/Arch packages with signed checksums and COPR publishing. The build script downloads and SHA256-verifies the official .deb, extracts it, stages the payload verbatim without app.asar patching or code injection, reuses official icons, bundles the pinned Claude Code CLI, generates the bubblewrap launcher, and packages for RPM/DEB/Arch. Packaging specs are generated from a single metadata source via packaging/generate-specs.py. Build scripts and stubs are dual-licensed MIT/Apache 2.0; the Claude Desktop application itself falls under Anthropic's Consumer Terms.