github patrickjaja/claude-desktop-extra v1.40609.0-2
Claude Desktop 1.40609.0 (patch release 2)

latest release: v1.40609.0-3
4 hours ago

Claude Desktop 1.40609.0 (patch release 2)

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

NixOS / Nix

nix run github:patrickjaja/claude-desktop-extra

AppImage (Any Distro)

# x86_64
chmod +x Claude_Desktop-1.40609.0-x86_64.AppImage
./Claude_Desktop-1.40609.0-x86_64.AppImage
# ARM64
chmod +x Claude_Desktop-1.40609.0-aarch64.AppImage
./Claude_Desktop-1.40609.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) d22bbfbd9833b33f21b38e365c4a7c7e21a65bdd8b05651e444883c3044783e4
Arch pacman (aarch64) e149d82b4c1e9e2dc05972b2595c8dbbad50fb85ad85c2185662df777ccf9ee4
Tarball (x86_64) 0930a4ef20ee1624b278467a08a5697cab7ee8c69698bce7fd7f11f348f719a0
Tarball (aarch64) 6ade3f6caa5d27fe2455d6495e8a745aa10a147b87921d5c1631dc3ae1ff229e
AppImage (x86_64) 1f51744c0fe4aa92a7b0efba1ad245b612cca2da3e6f219f5c67e26eef06863b
AppImage (aarch64) 8a7a93947dcfc255cc4aa5fbf6fb5e563f244628d36fabe64c795c7a879dabc5
Debian (amd64) e763361a1503b2d354ce2ad69f835a4d90e8f9e85c28541c686c5d841084c0d8
Debian (arm64) bbbb6be40077454b66f14f2720d00cad9c8aec0cc70cdbd5f84b9cf7f31a9299
RPM (x86_64) 981b6cbf0f2e3591752b9c4afac9e71cde50129247870dcedfa75d59c0b0d668
RPM (aarch64) 3479751f733a6b37be14cd79d6bfe35ed7d70cc4f52450a91929e5074e6f8082

Changes since last release

From CHANGELOG.md, 2026-08-30:

Files quick open (new community feature)

Ctrl+P over the Files panel. A new opt-in switch in Settings → Extra → Community Features adds a
VS Code-style quick-open box to the Code tab: type part of a file name, move with the arrow keys or
the mouse, press Enter and the file opens as a tab inside the Files panel (the same path a click on
the tree takes); name:42 opens at a line, and an empty query lists recently opened files. The box
asks Anthropic's own file index, so results and highlighting match the panel's filter and the
composer's @ picker. It stays out of the way of a focused terminal.
If the panel is open but its file tree is collapsed, Ctrl+P presses Anthropic's own "Show file tree"
button first and opens the box as soon as the tree is back - that is also the only state in which the
panel exposes no way to open a file at all. The box waits for the tree's rows, not just the tree,
and keeps looking for a few seconds: the panel paints the empty tree first, and the way in to opening
a file only exists once a row is on screen.

Spaces in a file search now mean "and". Anthropic's fuzzy file index treated a space as a
character to find, so user service returned nothing while user-service worked. With the
switch on, the index splits the query into pieces that must all match, in any order, and merges the
highlights - the way VS Code's quick open scores multi-word queries. This reaches the Files panel's
filter and the @ picker too. Off leaves the index exactly as shipped.

Multi-word results are ranked by file name. The pieces of a multi-word query are matched
separately, and merging them by the index's own per-piece ordering put whole directories above the
file being looked for - user service led with three unrelated sibling folders and
user service spec did not show user-service.spec.ts at all. Matches are now scored the way
VS Code scores them, on the file name first and the folder only as a fallback, with short names and
shallow paths preferred. Which files match is unchanged - only their order.

The switch reaches the index through an environment variable, and Electron hands a utility process
the app's initial environment unless the fork asks for the current one - so a patch now makes
Anthropic's worker host pass the live environment explicitly. Without it the switch was set in the
main process and never seen by the index. It still applies to file-index workers started after the
switch flips (a running one keeps what it was born with until it restarts, or the app does).

The panel no longer has to be open first. Ctrl+P works with the Files panel closed: it
opens the panel through Anthropic's own session menu, waits for it, and opens the file you pick.
The panel is only ever opened when there is none, because that menu entry is a toggle and
pressing it with a panel already open would close the one the feature needs. The handler files
are opened through is found by descending from the panel rather than by walking up from a tree
row, so it is found whether or not a single row has rendered yet.

Three patches (add_feature_files_quick_open, _bridge, _worker), three test harnesses, and a new
baseline/FILES_QUICK_OPEN_ANCHORS.md with the remote-DOM anchors the box depends on.

Contributed by @dels07 in #238 - thanks!

Feature test harnesses can no longer stall the pipeline

A harness that wedges now fails its own suite instead of the whole job. One of them held the runner
open until GitHub's 6h workflow timeout killed it, twice - a stall that reports nothing and looks
identical to "still running".

The cause is specific. The quick-open DOM suite is the only harness that loads its fixture over
loopback HTTP rather than file://, because the page module arms Ctrl+P only under a real
/epitaxy path. A pending network fetch pauses headless Chrome's virtual clock, so
--virtual-time-budget never expires and --dump-dom never fires: against a server that accepts a
connection and never answers, a 2.5s budget was measured still running at 45s. A file:// load
cannot stall that way, which is why no other harness could burn a job - and with no timeout on the
browser call, the wedge was unbounded.

Every harness now runs under a wall clock (FEATURE_TEST_TIMEOUT, default 600s) and a timeout is
reported as a named failure, and the quick-open suite bounds each browser launch and names the
scenario that hung.

Why the browser wedges on a runner is still open, and is now recorded rather than guessed at. Two
theories were tried and neither held: Chrome's background network chatter, and an ambient proxy. The
telling detail is that a static fixture with no script and no subresources wedges the same way, so it
is not the feature's page module. That suite therefore runs a preflight first: an environment that
cannot render reports a loud SKIP naming everything that went unverified, instead of masquerading as
a pass or as a code regression that blocks releases. It passes locally, which is where the page half
is meant to be exercised.

Files quick open: three correctness fixes

Found while reviewing the feature against the shipped build.

A query of five or more words no longer depends on the order you type them in. Words past the
fourth were being glued together into one, which silently reimposed an order on them: for
modules/user/src/domain/user-run/factories/user.service.ts, modules user domain service factories
found nothing while the same five words as ... factories service found the file. The cap now bounds
the index scans, not the words, and the extra words are applied afterwards as a filter, so all of
them still have to match and the order never matters.

An IME composition no longer opens the wrong file. Enter, Escape and the arrow keys belong to the
input method while a candidate is open; the box was acting on them, so committing a word could open
whatever file happened to be selected and close the box mid-word. It now leaves composing keys alone.

Holding Ctrl+P no longer strobes the box. A held key auto-repeats, and Ctrl+P is a toggle, so the
box opened and closed many times a second and re-drove the panel menu with it.

Links

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

NewReleases is sending notifications on new releases.