Skip to content

Claude Desktop 1.17377.1

Choose a tag to compare

@github-actions github-actions released this 01 Jul 19:48

Claude Desktop 1.17377.1

This release provides Claude Desktop version 1.17377.1 pre-patched for Linux.

Installation Options

Arch Linux (AUR)

yay -S claude-desktop-bin

Debian/Ubuntu (APT Repository — recommended)

curl -fsSL https://patrickjaja.github.io/claude-desktop-bin/install.sh | sudo bash
sudo apt install claude-desktop-bin

Debian/Ubuntu (manual .deb)

# x86_64
sudo apt install ./claude-desktop-bin_1.17377.1-1_amd64.deb
# ARM64
sudo apt install ./claude-desktop-bin_1.17377.1-1_arm64.deb

Fedora/RHEL (RPM Repository — recommended)

curl -fsSL https://patrickjaja.github.io/claude-desktop-bin/install-rpm.sh | sudo bash
sudo dnf install claude-desktop-bin

Fedora/RHEL (manual .rpm)

# x86_64
sudo dnf install ./claude-desktop-bin-1.17377.1-1.x86_64.rpm
# ARM64
sudo dnf install ./claude-desktop-bin-1.17377.1-1.aarch64.rpm

NixOS / Nix

nix run github:patrickjaja/claude-desktop-bin

AppImage (Any Distro)

# x86_64
chmod +x Claude_Desktop-1.17377.1-x86_64.AppImage
./Claude_Desktop-1.17377.1-x86_64.AppImage
# ARM64
chmod +x Claude_Desktop-1.17377.1-aarch64.AppImage
./Claude_Desktop-1.17377.1-aarch64.AppImage

Update existing AppImage (delta download — only changed blocks):

appimageupdatetool Claude_Desktop-*-x86_64.AppImage
# Or from within the AppImage:
./Claude_Desktop-*-x86_64.AppImage --appimage-update

Checksums

File SHA256
Tarball (x86_64) 6cf14d9ff3d4b7778d5f7cb01f8da610c6024dea44a390ffa5cc976ad8f760dd
Tarball (aarch64) 1227b6e90a225417be77a327bbecd9939f96808f4a4bd264a31b506e1cf598c4
AppImage (x86_64) e3113a83d57146f3f9eccb67a65cf50032ac9f06fe27e92522f6476a090d235d
AppImage (aarch64) 2bc6b90d64947a3a90c5b71c2d59ab28c5c7c268a98ce4ca896568a19ed11d5f
Debian (amd64) 1fa9960944b597462b25068ae384ce89996382f95b0b0c92da3bb43e1678c296
Debian (arm64) 0649153f0fd8b3b9a22817f1f27ef8303d66395eff1395fb63bc1f84920816ae
RPM (x86_64) 0fd1ade8a6425a0d3c5f17e8b03e25d3aec0819fccd83dd26f5c022576095d27
RPM (aarch64) 1c73991320472c36fb1a17314427b3c43c2f0d7b4635795701ebd413bc0d4f73

Changes since last release

Removed two no-op regression guards (fix_disable_autoupdate, fix_terminal_shell_linux)

Both patches had become pure no-ops - they mutated nothing and only asserted upstreamed behavior - so they were deleted rather than kept as empty guards. fix_disable_autoupdate used to inject a Linux short-circuit into the Squirrel isInstalled check; the official .deb now bails out of the update manager unless forceInstalled (false on our repackaged app), so auto-update is already off. fix_terminal_shell_linux used to rewrite a hardcoded powershell.exe default into a $SHELL → /bin/bash → /bin/sh ternary; the official .deb ships a proper POSIX shell resolver and the powershell.exe default is gone. Verified against a fresh unpatched v1.17377.1 bundle: both ran to exit 0 with zero byte changes. PLATFORM_GATE_BASELINE.md updated.

Removed fix_claude_code (Claude Code binary resolution is upstream-native on Linux)

The fix_claude_code patch was deleted after verifying against a fresh unpatched v1.17377.1 bundle that the official .deb resolves and downloads the Claude Code CLI natively on Linux. Its two mutating sub-patches did more harm than good: getBinaryPathIfReady()/getStatus() searched /usr/bin/claude, ~/.local/bin/claude, /usr/local/bin/claude, then which claude, and preferred that over the app's own managed binary - bypassing requiredVersion + checksum verification. Anyone with a stale or wrong-major-version claude on PATH (e.g. a global npm install) got it silently substituted, a source of bug reports rather than a fix.

None of it is needed anymore: getHostPlatform() returns linux-x64/linux-arm64 natively, the manifest carries a checksum-verified linux-x64 entry, and prepare() -> prepareForTarget() -> binaryExistsForTarget() -> downloadBinaryForTarget() fetches and verifies the CLI matching requiredVersion with no darwin/win32 gating. Users who genuinely want to pin their own binary use the sanctioned opt-in CLAUDE_CODE_LOCAL_BINARY=/path/to/claude (routed through upstream's initLocalBinary()). The third sub-patch was already just a no-op regression guard asserting the native getHostPlatform() Linux branch, so the whole patch was removed rather than kept as an empty guard. README (patch table, per-distro setup notes, Cowork section), PLATFORM_GATE_BASELINE.md, and the AUR optdepends note updated to drop the "Claude Code CLI required" claim. (Contributor-reported.)

Cowork VM deps recommended (matching upstream); README slimmed (3P, env-vars, Computer-Use deps moved to docs; optional deps inlined per distro)

  • QEMU + UEFI firmware + virtiofsd declared as recommended deps, mirroring Anthropic's official .deb. The official Claude Desktop .deb lists qemu-system-x86, ovmf, virtiofsd in Recommends: (verified by extracting v1.17377), and its docs mention no KVM/QEMU prerequisite at all. We match that: apt/dnf pull the Cowork VM deps by default (so Cowork works out of the box) but they stay soft - never blocking install on minimal/headless/KVM-less or immutable hosts, and no forced ~400 MB of QEMU on Chat/Code-only installs. Package names are architecture- and distro-specific: Arch qemu-system-x86 + edk2-ovmf (x86_64) / qemu-system-aarch64 + edk2-aarch64 (aarch64) as optdepends; Fedora qemu-system-x86 / qemu-system-aarch64 (RHEL uses qemu-kvm, gated with %if 0%{?rhel}) + edk2-ovmf / edk2-aarch64 as Recommends; deb qemu-system-x86 + ovmf (amd64) / qemu-system-arm + qemu-efi-aarch64 (arm64) as Recommends. Corrected two wrong names caught in review: Arch's qemu-base carries no emulator binary (and is x86_64-only), and qemu-system-x86/-aarch64 don't exist on RHEL (it uses qemu-kvm). Using Cowork still needs the kvm group and the Claude Code CLI - a package can't do either. Computer Use tools stay optional; AppImage/Nix can't auto-install system packages, so they keep the manual instructions.
  • README Installation section reworked for a quicker start - each distro subsection (Arch/Debian/Fedora/Nix/AppImage/source) now carries its own "Optional deps" note with the distro-correct Cowork + Computer Use commands, right under the install command. The notes are accurate per package manager: apt Recommends / dnf weak deps pull the VM deps in by default, but pacman does not auto-install optdepends (explicit command given), and AppImage/Nix can't auto-install at all. The two universal setup steps (kvm group + Claude Code CLI) are stated once up top.
  • Third-Party / Enterprise Inference trimmed to a teaser + link. The full content already lived in docs/third-party-inference.md; the README now points there instead of duplicating it.
  • Environment Variables moved to docs/environment-variables.md. The README keeps the four most-reached-for vars inline and links out for the full table.
  • Computer Use dependencies section removed; deps inlined per distro + reference moved to docs/computer-use-dependencies.md. Each Installation subsection now lists the Computer Use packages for that distro (session-broken-out) alongside the Cowork deps; the new doc holds the full matrix, the KDE/GNOME portal behavior notes, COWORK_SCREENSHOT_CMD, and the ydotool v1.0+ setup (incl. the Ubuntu/Debian build script).
  • Computer Use feature section trimmed to a teaser + link → docs/computer-use.md. The README keeps a short USP paragraph; the new doc holds "how it works on Linux," the notes (primary-monitor, app discovery, teach overlay), and the tool-reference link. The #computer-use anchor is preserved so existing cross-links still resolve.
  • Fixed ydotool scope in the install notes: it's needed on Sway/Hyprland/GNOME Wayland; KDE Plasma Wayland needs none (the bundled kwin-portal-bridge handles input). Each distro's Computer Use deps became a per-session copyable command block.

Removed fix_dispatch_linux (Dispatch is upstream-native on Linux)

Dispatch (phone->desktop task orchestration) now works on the official Linux .deb with no patch - live-tested by sending a task from phone to desktop and receiving the rendered response on v1.17377.1. Over several releases upstream shipped everything the patch used to force: the sessions-bridge inits on Linux, the mobile remote-session-control path runs, the platform label returns "Linux", and the terminal MCP server's old pj (darwin||win32) gate was dropped entirely. The patch was deleted; docs (README patch table, PLATFORM_GATE_BASELINE.md, CLAUDE_FEATURE_FLAGS.md, CLAUDE_BUILT_IN_MCP.md) updated to note the upstreamed behavior.

Also re-audited the remaining 47 patches against a fresh unpatched v1.17377 bundle. Every other patch either still mutates the bundle (the bug/gate it fixes is still present) or is already a regression guard - so no further patches were redundant. Dispatch was the only one.

Pivot: repackage the official Claude Desktop Linux .deb

Anthropic shipped an official Claude Desktop Linux beta (docs). This project now repackages that official .deb instead of the Windows MSIX, and the sibling claude-cowork-service daemon is deprecated.

  • New ingest pipeline. The build downloads the official .deb from the apt repo (https://downloads.claude.ai/claude-desktop/apt), verifies GPG + SHA256, extracts and patches its app.asar, and repackages for Arch/Fedora/RHEL/Nix/AppImage plus our own Debian/Ubuntu .deb. version-check.yml now polls the apt Packages index.
  • Dropped the Electron pin and node-pty rebuild. The official .deb bundles Electron 42.5.1 and pre-built node-pty for x86_64 and arm64. Deleted .electron-version, .electron-shasums, and the resolve-electron-version.sh / update-electron-shasums.sh / verify-electron.sh / rebuild-pty-for-arch.sh scripts.
  • Cowork now runs on the official native VM backend. The .deb bundles cowork-linux-helper + virtiofsd + smol-bin + QEMU/OVMF (requires /dev/kvm), so the claude-cowork-service Go daemon is no longer needed or installed. The 7-patch "cowork-wiring" cluster (fix_cowork_linux, fix_cowork_first_bash, fix_cowork_spaces, fix_cowork_error_message, fix_cowork_download_status_linux, fix_cowork_sandbox_refs, fix_vm_session_handlers) was removed; what remained became regression guards asserting the upstreamed native behavior.
  • Dropped the obsolete @ant/claude-native stub (patches/claude-native.js), which fixed "Download failed". The MSIX-era stub overwrote upstream's real Linux NAPI binding and lacked connectUnixSocketSameUid, so the VM capability probe returned virtualization_entitlement_missing. The official .deb ships a real Linux binding; removing the stub lets it through and Cowork starts.
  • New patch fix_cowork_firmware_paths_linux. On non-Debian distros the VM probe only searched the Debian OVMF paths, so firmwarePath was null and Cowork stayed unsupported. The patch adds the Fedora/RHEL and Arch UEFI firmware paths (only those whose OVMF_CODEOVMF_VARS derivation yields a real VARS file) plus Arch's /usr/lib/virtiofsd. openSUSE and generic-qemu symlinks are a known gap.
  • Launcher guarantees a usable $PATH. Menu launches gave systemd --user --scope an empty PATH, so the backend's qemu-system-x86_64 lookup found nothing and reported "VM not supported". The launcher now injects the standard system bindirs via systemd-run --setenv.
  • Cowork runtime dependencies declared (QEMU + OVMF/AAVMF firmware + virtiofsd; not bundled). Cowork needs them plus /dev/kvm and kvm-group membership. Kept soft (recommended, matching the official .deb) - see the "Cowork VM deps recommended (matching upstream)" entry above for the final per-arch/-distro package names.
  • Full patch re-audit vs the official .deb. Three cleanups: enable_local_agent_mode no longer force-marks the Cowork VM features (yukonSilver/yukonSilverGems/coworkKappa/coworkArtifacts) as supported, so support reflects the real native probe; fix_sensitive_dirs_linux tightened its anchor to stop an over-application into an unrelated array; fix_claude_code's getHostPlatform() sub-patch became a regression guard (upstream now returns linux-x64/linux-arm64 natively).
  • glibc floor raised to 2.34 (RHEL 9 / Ubuntu 22.04). Debian 11 (bullseye) is no longer supported.
  • Retained Linux value-adds: Computer Use (our exclusive feature, absent from the official beta), custom themes, multi-profile instances, and Quick Entry.
  • Doc fix: the managed config path is /etc/claude-desktop/managed-settings.json (read natively; top-level key still managedMcpServers), not the old enterprise.json. Updated README, CLAUDE.md, and the /3p reference.
  • .upstream-version bumped to 1.17377.0.

Links