github patrickjaja/claude-desktop-extra v2.7032.0-2
Claude Desktop 2.7032.0 (patch release 2)

4 hours ago

Claude Desktop 2.7032.0 (patch release 2)

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

Installation Options

Arch Linux (pacman Repository - recommended)

curl -fsSL https://patrickjaja.github.io/claude-desktop-extra/install-pacman.sh | sudo bash
sudo pacman -Syu claude-desktop-extra

Arch Linux (manual package)

# x86_64
sudo pacman -U https://github.com/patrickjaja/claude-desktop-extra/releases/download/v2.7032.0-2/claude-desktop-extra-2.7032.0-2-x86_64.pkg.tar.zst
# ARM64
sudo pacman -U https://github.com/patrickjaja/claude-desktop-extra/releases/download/v2.7032.0-2/claude-desktop-extra-2.7032.0-2-aarch64.pkg.tar.zst

Debian/Ubuntu (APT Repository — recommended)

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

Debian/Ubuntu (manual .deb)

# x86_64
sudo apt install ./claude-desktop-extra_2.7032.0-2_amd64.deb
# ARM64
sudo apt install ./claude-desktop-extra_2.7032.0-2_arm64.deb

Fedora/RHEL (RPM Repository — recommended)

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

Fedora/RHEL (manual .rpm)

# x86_64
sudo dnf install ./claude-desktop-extra-2.7032.0-2.x86_64.rpm
# ARM64
sudo dnf install ./claude-desktop-extra-2.7032.0-2.aarch64.rpm

NixOS / Nix

nix run github:patrickjaja/claude-desktop-extra

AppImage (Any Distro)

# x86_64
chmod +x Claude_Desktop-2.7032.0-x86_64.AppImage
./Claude_Desktop-2.7032.0-x86_64.AppImage
# ARM64
chmod +x Claude_Desktop-2.7032.0-aarch64.AppImage
./Claude_Desktop-2.7032.0-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
Arch pacman (x86_64) 055d7a3ca8345588d9f47d9ced061fbc8a0d49e54ebdcec4effc517de29ee9c5
Arch pacman (aarch64) cda01d982f28daeac68270a11523ca11cc20c892fd990ebfd48d31cf282e2b74
Tarball (x86_64) 4ba70cb401faad982f32c866f8cd42eba349f3b5a39482c085e3da9aec1a536e
Tarball (aarch64) b64a01524f654fe15c67767b2281fa65200ec63ef09e8673f6687c84dbbe1049
AppImage (x86_64) ccd284dc3693f4d3ed853fd911f29a71db89634f3fce5954de5e820bd093435e
AppImage (aarch64) 8ceb47d88693808eff69ac4424c284ba848909bdc4f59a7431a30fd8640a2302
Debian (amd64) 28b8a7863ad9714676988cdc514d1bf0df109b7a78c57b8ee50326aa0b72f040
Debian (arm64) e768c3aa5ce166a5ad17f780ce50be928f5f02a1a3f9d51dd7c3b88013b87fc2
RPM (x86_64) e0798d5530d41c990e996ba62f6b2faa2bc57a57dfcf4c7a3a7150f341fb2fb3
RPM (aarch64) b449d7aa4323281600c277933d092e98b6ec5fbf6bc7ac6a80e9b15201aa0270

Changes since last release

From CHANGELOG.md, 2026-09-23:

Linux portability pass

Upstream's Linux build assumes Debian/Ubuntu with systemd, GNOME and a standard
/usr. This pass closes the places where that assumption silently cost a feature
on the other distros and desktops we ship to.

New patches (48 -> 50 after one removal):

  • fix_host_tool_paths_linux: the app runs busctl, secret-tool and
    kwallet-query from /usr/bin only. Where they live elsewhere (NixOS), it now
    finds them on PATH; hosts that have the /usr/bin file are unchanged. This
    brings back Wayland global shortcuts and the Quick Entry hotkey on NixOS, and
    keyring-encrypted cookies in Chrome import. fix_detected_projects_linux does
    the same for sqlite3.
  • fix_tray_less_desktops: on a Wayland session with no tray host (GNOME
    without AppIndicator, sway or niri without a tray bar), closing the window
    quits instead of hiding it into a tray that does not exist, and a hidden
    autostart launch shows the window.
  • fix_keep_awake_linux: "Keep computer awake" holds a logind idle inhibitor
    on Sway, Hyprland, niri, i3 and other desktops without a GNOME or freedesktop
    power service, where Chromium's blocker did nothing.
  • Removed fix_cross_device_rename: none of the renames it wrapped can cross
    filesystems, and two of its rewrites were wrong.
  • Tightened enable_local_agent_mode, fix_quick_entry_position,
    fix_computer_use_linux, fix_startup_settings and fix_app_quit (dead and
    assert-only steps dropped, exact match counts) plus exact counts in a dozen
    more. No behavior change. The orchestrator refuses an already-patched extract.

Computer Use: a bridge is used only after it answers a quick --version
run; one that cannot run on this system falls through to the next tier and the
log names the cause (PipeWire or glibc too old, NixOS loader, wrong CPU). NixOS
KDE now reaches the spectacle fallback. App listing follows XDG_DATA_DIRS
(NixOS, snap, /usr/local apps), and tool detection no longer needs which.

Packaging:

  • .deb: replaces Anthropic's own claude-desktop package cleanly (Conflicts +
    Replaces); recommends gnome-keyring | plasma-workspace and libsecret-tools;
    suggests gjs and ydotool (>= 1.0).
  • .rpm: conflicts with claude-desktop; recommends qemu-system-<arch> or
    qemu-kvm, so QEMU is pulled on RHEL too.
  • RHEL 9 Cowork: RHEL ships QEMU only as /usr/libexec/qemu-kvm. The .rpm
    installs a qemu-system-<arch> shim for it, and the launcher puts the shim on
    PATH when no other QEMU is found. The workspace VM boots on RHEL 9 x86_64.
  • The GNOME Shell search provider is registered in the .deb, .rpm, pacman
    and Nix packages (needs gjs).
  • Nix: x86_64 only, as built; python3, xdg-utils and sqlite on the
    wrapper's PATH; "Start at login" and profile entries run through the wrapper
    and survive garbage collection.
  • Local builds fail unless every binary in the tree matches the package
    architecture.

Launcher: named profiles refresh from CLAUDE_ELECTRON, and
--create-profile is refused in the AppImage (use --profile=NAME).
CLAUDE_USE_XWAYLAND=1 needs DISPLAY and now works on niri with
xwayland-satellite. The KWallet probe falls back from busctl to dbus-send to
gdbus. The AppImage no longer leaks its bundled libraries into child processes.
A compositor started from a TTY gets XDG_SESSION_TYPE=wayland.
claude-desktop --diagnose gains a Host capabilities section (each tool the app
needs, found or missing, and what stops working without it), the portal probe
exactly as the app runs it, a run check of all four Computer Use bridges, tray
host, keep-awake and Bluetooth checks, and a closing Problems found list.
--diagnose and --help have no side effects any more.

Docs: per-compositor Quick Entry binds (Sway, river, niri, Hyprland,
GNOME), the missing environment variables, Cowork notes per distro and board
(Debian 12 has no usable virtiofsd, RHEL 9, Raspberry Pi 5 RAM, Jetson
/dev/kvm), and corrected claims about Computer Use coverage, per-profile
window identity, flag and feature counts, Nix on ARM and the 3P log directory.

Build: every patch must still do something

Upstream works on the same Linux gaps we patch. When it ships one natively, the
patch's "already patched" branch reports success, so the build stayed green while
we carried a patch that changed nothing. scripts/check-upstream-absorbed.py now
runs in every build, before the patches apply. It replays each patch against the
pristine bundle and fails when a patch (or one of its sub-patches) finds its end
state already present. That patch is then audited and removed. The probe also
re-runs each patch on its own output to prove it is idempotent. The rules are in
the new CONSTRAINTS.md. After the portability pass below, all 50 patches are
active and idempotent with no exceptions left.

Claude Desktop v2.7032.0

The auto-release stopped on one sub-patch. It was an assert, not a real breakage.
enable_local_agent_mode Patch 3n checked that SSH remote sessions still forward
plugins and MCP servers without a flag gate (upstreamed in v1.18286.0). It looked
for the method resolveSshControllerForMcp, which upstream has now moved into a
module-level helper. The body is the same, if(e)return <controller>(e), still
without a gate, and it is still called from both createMcpServer and
reconcileServers. Patch 3n injected nothing, so under the retired-guard policy
(AGENTS.md Rule 4/6) it is removed rather than re-anchored. The patch's
EXPECTED_PATCHES goes from 7 to 6.

Every other patch applied unchanged. Spot-checks confirmed that the Computer Use,
Quick Entry, GrowthBook-override and Extra-settings injections still land on the
intended sites.

  • Electron 44.2.0 -> 44.4.3. No new native modules.
  • GrowthBook catalog: +33 / -5 flags. None is platform-gated. The
    claude-desktop-extra.jsonc template now covers the new flags.
  • Deployment panel: the managed-settings catalog goes from 171 to 178 keys:
    • added: keepAwakeEnabled, codeAllowedRepositories, deviceToolsEnabled,
      inferenceIdpOidc, inferenceIdpAuthFlow, claudeCodeProcessWrapperEnabled,
      disableLocalConfigCache, mcpScheduledTaskApprovalLifetimeDays
    • removed: selfHostedOidcTokenStorage
  • New upstream features:
    • resources/claude-browser-shim.js, a $BROWSER shim that opens links from a
      Code session in its Browser pane and falls back to xdg-open.
    • A new built-in MCP server, ccd_turn (update_plan, wrap_up).
    • A Linux-only repaint fallback for Preview/Browser tabs whose first frame is blank.
    • No new darwin/win32 gates that block Linux.

Links

Don't miss a new claude-desktop-extra release

NewReleases is sending notifications on new releases.