Skip to content

Claude Desktop 1.24012.9 (patch release 14)

Choose a tag to compare

@github-actions github-actions released this 03 Aug 09:46
· 50 commits to master since this release

Claude Desktop 1.24012.9 (patch release 14)

This release provides Claude Desktop version 1.24012.9 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/v1.24012.9-14/claude-desktop-extra-1.24012.9-14-x86_64.pkg.tar.zst
# ARM64
sudo pacman -U https://github.com/patrickjaja/claude-desktop-extra/releases/download/v1.24012.9-14/claude-desktop-extra-1.24012.9-14-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_1.24012.9-14_amd64.deb
# ARM64
sudo apt install ./claude-desktop-extra_1.24012.9-14_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-1.24012.9-14.x86_64.rpm
# ARM64
sudo dnf install ./claude-desktop-extra-1.24012.9-14.aarch64.rpm

NixOS / Nix

nix run github:patrickjaja/claude-desktop-extra

AppImage (Any Distro)

# x86_64
chmod +x Claude_Desktop-1.24012.9-x86_64.AppImage
./Claude_Desktop-1.24012.9-x86_64.AppImage
# ARM64
chmod +x Claude_Desktop-1.24012.9-aarch64.AppImage
./Claude_Desktop-1.24012.9-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) f35533c278a7441c44143fe8a7c2adb835714ef28cf00ce0215f18070f2c94fc
Arch pacman (aarch64) fb24567f75734dea2c32b0af26724b484199342cecc22f2b6d1969e7b5468187
Tarball (x86_64) bac937ed248e3291f91290a674f7c944b434102f89dd65e317732d83f594fe22
Tarball (aarch64) 4cbfa080b7ebb93b3b251c44da15d26fe2872aa6bb954e3f2bdfcc761c35359a
AppImage (x86_64) 7e043478547f92d6fc20eeb0cfb824fc15fdeb867c450d5dc904ba68ce187497
AppImage (aarch64) cdf15c516a151512598db8ae09dc61a4338839192d46e305d05cad2826a2340e
Debian (amd64) ac63c83cec87c1c03cf788b62f618d15ccf8e03aea60c3387794d2be5d0b0d85
Debian (arm64) 4a94a632f489ed434faad398ab320699c48899ac9e91fffc9655a7a6a6f61a67
RPM (x86_64) 72515eccf2eb2fc1ea095425f028edac1d8028dfc5bb88df350fa07d55ee2dc1
RPM (aarch64) f21226a07f90ae4870d833191598f79a42e036bf641821aa0a5fdb8e518f5417

Changes since last release

From CHANGELOG.md, 2026-08-03:

Launching from a panel or menu no longer freezes startx/xinit desktops

On a session started with startx/xinit instead of a display manager, launching Claude Desktop from a panel button or the applications menu suspended the entire desktop: the window mapped blank, nothing redrew, only the pointer and VT switching kept working. The desktop on such a session runs on a VT and shares one process group, and the app's Claude Code integration probes the user environment with an interactive login shell (bash -l -i -c '... env'). Bash's job-control init finds that shell in a background process group of its controlling terminal and raises SIGTTIN against the whole group - which on a startx session is xfce4-session, the window manager, the panel and everything else. Terminal launches were always fine, because there the launcher is the foreground job.

The launcher now detaches via setsid before exec, but only when it is genuinely a background job on a controlling terminal (tpgid exists and differs from pgid). Display-manager sessions (tpgid == -1) and foreground terminal launches (tpgid == pgid) are untouched - terminal users keep live output and Ctrl-C. On a detached launch the app's stdout/stderr now lands in ~/.cache/claude-desktop/stdout.log (2 MiB rotation) instead of an unreadable VT, which also makes issue reports from menu-launched sessions possible. CLAUDE_KEEP_TTY=1 restores the old behaviour.

Root-caused (down to the wchan do_signal_stop capture) and fixed by Marco Bucchiarone (@Eresy) in #213 - thanks!

Computer Use executor: remaining probe/timing exec calls converted to argument arrays

The residual shell-string execSync calls in js/cu_linux_executor.js now run through execFileSync with argument arrays: the systemd-detect-virt VM probe, the which-based command cache, the pgrep -x ydotoold daemon check, and the ydotool hold-key sleep. None of these carried attacker-controlled input (the model-supplied paths were already converted 2026-07-13), so this is defensive consistency, not a vulnerability fix. The now-unused _exec/_execBuf shell helpers are gone.

Contributed by @anupamme (#212) - thanks!

Post-merge follow-up: the PR also whitespace-split COWORK_SCREENSHOT_CMD into an execFileSync argument array, which would have broken quoted arguments and pipes in user templates (e.g. grim -g "{X},{Y} {W}x{H}" {FILE}). That variable is a user-supplied command template from the user's own environment - shell evaluation is its documented contract and carries no injection surface - so the follow-up commit restores it verbatim.

Links