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-extraArch 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.zstDebian/Ubuntu (APT Repository — recommended)
curl -fsSL https://patrickjaja.github.io/claude-desktop-extra/install.sh | sudo bash
sudo apt install claude-desktop-extraDebian/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.debFedora/RHEL (RPM Repository — recommended)
curl -fsSL https://patrickjaja.github.io/claude-desktop-extra/install-rpm.sh | sudo bash
sudo dnf install claude-desktop-extraFedora/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.rpmNixOS / Nix
nix run github:patrickjaja/claude-desktop-extraAppImage (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.AppImageUpdate 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.