github patrickjaja/claude-desktop-extra v1.34493.1-3
Claude Desktop 1.34493.1 (patch release 3)

3 hours ago

Claude Desktop 1.34493.1 (patch release 3)

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

NixOS / Nix

nix run github:patrickjaja/claude-desktop-extra

AppImage (Any Distro)

# x86_64
chmod +x Claude_Desktop-1.34493.1-x86_64.AppImage
./Claude_Desktop-1.34493.1-x86_64.AppImage
# ARM64
chmod +x Claude_Desktop-1.34493.1-aarch64.AppImage
./Claude_Desktop-1.34493.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
Arch pacman (x86_64) 2bb895faa7a614ce2eee6abbdeeb67139bad47c8e7fd66d8b8b22d3f14effc96
Arch pacman (aarch64) c10fda3b6df01903434e644a166b4123a77a5afe0daa1c511007d656bcc55cbe
Tarball (x86_64) 24c70da440024ebb622945dfdc2364836ba88d4b947eb94be55dd8fed581327f
Tarball (aarch64) 8c367e9dfee236965f55cb02564b8f8777a31ee911a1c0b02c0c4a3648ed6daa
AppImage (x86_64) d84fd701dc28b9535125be1ae15caa19045999e7a8b888fd6e3ab8e4a14d7b68
AppImage (aarch64) 4de394215be374e23e485b25f47724144942de98d645b3c13a40f48b0936f930
Debian (amd64) 3f3d728ad16970d1ae76e102cc962b4f3ebe723eb39f45d17801ffcc7fa99052
Debian (arm64) 567c57867b5dbd3e0208abdb3362de534453aafc8f299ed74d03bd1a66fd1fa9
RPM (x86_64) 6aa74f7388a3812ad0e7948ecd85d68a8cf75fc92d800f0f2cc1b7eb5918a9c8
RPM (aarch64) 71e4b7a90ae9ee6732b6033095ec4bf93d0bc9d19aa3fcbf356deef82717ac8f

Changes since last release

From CHANGELOG.md, 2026-08-24:

Bringing the window back to the front now works again (#233)

fix_dock_bounce exists to stop the taskbar demanding attention on KDE and GNOME - what upstream's
macOS dock bounce turns into on Linux. It did that by overriding six Electron methods whenever no
Claude window was focused, two of which mattered a lot more than intended:
BrowserWindow.show() silently became showInactive(), and BrowserWindow.focus() became a no-op.
If the window was already visible, show() became a no-op with no fallback at all.

Every path that reveals a hidden window runs precisely when nothing of Claude is focused - the tray's
"Show App", launching the app while it is already running, and our own Computer Use teach-mode
restore - so all of them were being swallowed. The patch is now scoped to the attention APIs it was
written for (flashFrame and requestUserAttention); show, focus, moveTop, app.focus and
webContents.focus are back to stock Electron behaviour.

The autostart entry now points at the launcher

Upstream builds the "Start at login" entry as Exec=<bundled electron> --startup, bypassing our
launcher entirely. A login launch therefore started with none of its setup: no
--ozone-platform=wayland (so on a Wayland session the autostarted instance came up under XWayland
while a manual launch was native Wayland), no GlobalShortcutsPortal feature flag, no PATH repair
(Cowork could not find qemu), no --password-store, no systemd scope, and for a named profile no
--user-data-dir - meaning an autostarted named profile silently used the default profile's data.
The launcher now exports CLAUDE_LAUNCHER and fix_startup_settings builds the entry from it,
re-adding --profile=<name> when a profile is active.

Launching the app shortly after login no longer opens it hidden (#233)

Session-restore detection used to key off one signal: if the graphical session had started less
than 60 seconds ago, the launch was treated as a restore and the main window was created hidden.
That caught the case it was written for - gnome-session relaunches saved clients without
--startup, so "start in system tray" was ignored on every login - but it also caught anyone who
simply clicked the launcher icon shortly after logging in. They got a tray icon, no window, and
born_hidden_reason: 'os_login' in the log, and had to click a second time to get in.

The heuristic now requires two conditions instead of one: the session must be young and an
enabled XDG autostart entry must exist, meaning the user actually asked for a hidden start. Someone
with autostart switched off is never suppressed. Every error path - missing entry, unreadable
socket, no /run/user - falls back to showing the window, since a wrongly hidden window is
invisible and hard to report while a wrongly shown one is a minor annoyance.

The predicate moved out of the patch into js/startup_session_restore_gate.js, where it is
syntax-checked and unit-tested (scripts/tests/linux/test-startup-gate.mjs, 10 checks covering
both users, X11 and Wayland, absolute WAYLAND_DISPLAY paths, XDG_CONFIG_HOME, and the
fail-safe direction). It also records its decision as a [startup-gate] line in
claude-patches.log.

New: activation diagnostics

Launching Claude while it is already running hands the request to the running process, which is meant
to reveal and focus its window. Upstream logs nothing whatsoever on that path, so when the window
does not come back there is no evidence to work from. fix_second_instance_diag records the received
argv and cwd, whether Chromium forwarded an --xdg-activation-token (the Wayland raise depends on
one, and the bundle never reads one itself), and each window's visible/focused/minimized state,
geometry and display - before the reveal, right after it, and again at +500 ms and +2 s. It also
names the case where the request arrived before any window existed. Output goes to
~/.config/Claude/logs/claude-patches.log. Behaviour-neutral, and it hooks only a public Electron
event, so there are no minified anchors to re-fit on an upstream bump.

Links

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

NewReleases is sending notifications on new releases.