Claude Desktop 2.26454.0
This release provides Claude Desktop version 2.26454.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/v2.26454.0/claude-desktop-extra-2.26454.0-1-x86_64.pkg.tar.zst
# ARM64
sudo pacman -U https://github.com/patrickjaja/claude-desktop-extra/releases/download/v2.26454.0/claude-desktop-extra-2.26454.0-1-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_2.26454.0-1_amd64.deb
# ARM64
sudo apt install ./claude-desktop-extra_2.26454.0-1_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-2.26454.0-1.x86_64.rpm
# ARM64
sudo dnf install ./claude-desktop-extra-2.26454.0-1.aarch64.rpmNixOS / Nix
nix run github:patrickjaja/claude-desktop-extraAppImage (Any Distro)
# x86_64
chmod +x Claude_Desktop-2.26454.0-x86_64.AppImage
./Claude_Desktop-2.26454.0-x86_64.AppImage
# ARM64
chmod +x Claude_Desktop-2.26454.0-aarch64.AppImage
./Claude_Desktop-2.26454.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) | bae1b1ec51c1a88f0b511636d91b6dff63d3c6d0d8098a2c0c2fb2824a12b038
|
| Arch pacman (aarch64) | f66547746e39627bc6e80076adf3d680c353b7df35fb15356b3aa8f8556fee66
|
| Tarball (x86_64) | 94205d65752323da2b3f28cd45d31b5b70172898122a85c567c0b916d4ff7c61
|
| Tarball (aarch64) | f5cd59cedf11f22f59f1ca0ebca9e1ec8d7907b5c9707984798956b64ac0da54
|
| AppImage (x86_64) | 48afd9306c1dabb7d088f9326f66e9cc28db90f44594b7ccf1debc86b3c8d343
|
| AppImage (aarch64) | 0b32f4c6e37bf4461375d89e7d30b9f9f04f779e9a9fd28e2bbe7cd0d0f1a054
|
| Debian (amd64) | fffc732a394d10ea071fe474a3b3f945e5da4bdaf6e16665fc7f742e1cfcd2c8
|
| Debian (arm64) | a952e17eb9a6e87d41344ed07051a1c01d70771207e7e3107784cc03cd75a070
|
| RPM (x86_64) | c74ccc9e7cf0d16c468e7ca9a6ab97ee31727d09d1b92e7ee6c3e82309dddf22
|
| RPM (aarch64) | 02051e878d90b765cd29000ab20665a9a0289c9d1527fa572a5b99f805ae7873
|
Changes since last release
From CHANGELOG.md, 2026-10-07:
Allow non-Anthropic models through a 3P gateway
- New opt-in Allow non-Anthropic models switch (Settings -> Extra -> Community Features -> Inference, off by default). It relaxes Anthropic's built-in filter that drops gateway model IDs which do not look Anthropic. Routes like
melious/deepseek-v4.1-flashorinceptron/zai-org/GLM-5.3then survive in the Setup model list, the picker, the runtime session gate, gateway/v1/modelsdiscovery andanthropicFamilyTierpins. Without the switch they are silently dropped and the session falls back to the default model. HIPAA, admin allowlist and app-catalog gates are untouched, and 1P/Bedrock/Vertex/Foundry validation is unchanged. The setting is per mode (set it in 3P), takes effect on restart, and is locked byallowNonAnthropicModelsin the hand-ownedclaude-desktop-extra.jsonc. Upstream's 3P setup wizard (Developer -> Configure Third-Party Inference) carries its own copy of the check inion-dist. With the switch on, it no longer flags these models as "Doesn't look like an Anthropic model" or blocks Apply Changes; the setting reaches the wizard through its existingdesktopBootFeaturesboot payload. Patches:add_feature_allow_non_anthropic_models.nimandadd_feature_allow_non_anthropic_models_ion.nim.build-patched-tarball.shnow runs everyresources/ion-distpatch, not justfix_ion_dist_linux, and fails on a missing binary. Covered bytest-allow-non-anthropic-models.mjs. - New docs/cookbook/ with a first recipe: non-Anthropic models via Opper (EU gateway).
- The remaining Extra rows (Files quick open, panel tabs, diff views, transcript limits, window controls) now also accept the 3P window (
app://localhost), and their page scripts load there. Before this they showed "rejected: unrecognized sender" in 3P. The 3P setup wizard window is skipped, the same as for the Extra page.
Extra settings now show up in 3P mode
- In third-party inference mode (gateway, Bedrock, Vertex, Foundry) the main
window loads the bundled app fromapp://localhostinstead of claude.ai.
The Extra page was only injected into http(s) documents and its IPC handlers
only accepted claude.ai / claude.com senders, so the Extra group never
appeared in Settings there (the limitation noted on 2026-09-16). app://localhostis now an allowed origin for the Extra handlers and the
window transparency (cdb-wt:*) handlers. Its parsed origin is the opaque
"null", so it is normalised toapp://localhostfirst, the same way
upstream's own IPC sender check does. Matching stays exact and main-frame
only:app://localhost.evil,app://localhost:1234,app://other,
file://,http://localhostand subframes are rejected.- The page injection now uses the same origin list instead of "any http(s)
page", and skips upstream's 3P setup window (app://localhost/setup-desktop-3p). - With transparency on, the 3P main window's content now turns see-through
as well, since it uses the same origin list. - Covered by
test-deployment-main.mjs(sender guard + a new dom-ready
injection section) andtest-window-transparency.mjs.
Model list shows object entries instead of [object Object]
inferenceModelsentries can be objects ({ "name": ..., "labelOverride": ..., "supports1m": ... }), which upstream's own 3P Setup writes. The Extra
page joined them as strings, so each showed as[object Object], and saving
the field would have written that literal text back over the real list.- Object entries now show as one JSON line each, and a line starting with
{
parses back to an object on save (it must carry a non-empty"name"; a
broken line is rejected with its line number). Plain ids are unchanged, and
other list fields never parse JSON. - Covered by
test-deployment-main.mjsandtest-extra-settings-dom.mjs.
Upstream v2.26454.0
- Re-fitted three patches to the new build: transcript limits (the session
manager now passes an extra option first), the built-in MCP open-url
handler (now wrapped inObject.assign, and it calls
require("electron")directly so a shadowed variable can no longer break
it at runtime), and open-in-editor (VS Code, Cursor and Zed detection now
share one lookup that also triesvscode-insiders://; the Linux handler
lookup and the file-icon guard cover it). - File types and sandbox deps, matching the official package:
.mcpb,
.dxtand.skillfiles now open in Claude Desktop (every package registers
the MIME types; the AppImage registers them per user on first launch).
bubblewrapandsocatare now recommended/optional dependencies -
Claude Code shell commands under an organization sandbox need both on Linux. - Tray-less desktops: upstream now quits on window close itself when a
Wayland session has no tray host, sofix_tray_less_desktopskeeps only
its other half: a hidden autostart launch still shows the window when there
is no tray to reach it from. - The official native module no longer needs anything above glibc 2.34; the
glibc floor step stays in the build as a guard. - Flag template 450 -> 482 entries (+34, -2), Extra -> Deployment catalog
176 -> 179 keys (new:disableConnectorSignInInApp,
microsoftAuthDefaultAccount,quickWriteEnabled).