Claude Desktop 1.13576.4 (patch release 3)
This release provides Claude Desktop version 1.13576.4 pre-patched for Linux.
Installation Options
Arch Linux (AUR)
yay -S claude-desktop-binDebian/Ubuntu (APT Repository — recommended)
curl -fsSL https://patrickjaja.github.io/claude-desktop-bin/install.sh | sudo bash
sudo apt install claude-desktop-binDebian/Ubuntu (manual .deb)
# x86_64
sudo apt install ./claude-desktop-bin_1.13576.4-3_amd64.deb
# ARM64
sudo apt install ./claude-desktop-bin_1.13576.4-3_arm64.debFedora/RHEL (RPM Repository — recommended)
curl -fsSL https://patrickjaja.github.io/claude-desktop-bin/install-rpm.sh | sudo bash
sudo dnf install claude-desktop-binFedora/RHEL (manual .rpm)
# x86_64
sudo dnf install ./claude-desktop-bin-1.13576.4-3.x86_64.rpm
# ARM64
sudo dnf install ./claude-desktop-bin-1.13576.4-3.aarch64.rpmNixOS / Nix
nix run github:patrickjaja/claude-desktop-binAppImage (Any Distro)
# x86_64
chmod +x Claude_Desktop-1.13576.4-x86_64.AppImage
./Claude_Desktop-1.13576.4-x86_64.AppImage
# ARM64
chmod +x Claude_Desktop-1.13576.4-aarch64.AppImage
./Claude_Desktop-1.13576.4-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 |
|---|---|
| Tarball (x86_64) | d2a81ea38c193dc4cab9c58d1c65d21c4b8e456dade1c06e9baf38afc7c994f8
|
| Tarball (aarch64) | 266b64fa2835a00ad5d4bb0709cdd7c2b064b1b894f4cf3e07515342fd6a053c
|
| AppImage (x86_64) | 5fa0495c5f7e8cb916b13f7d37b545a81fa46b777d673ef7570b10b7e0cc21f3
|
| AppImage (aarch64) | 5d52280806b2d9774f4740bc9106e70838950119a35a6b6b2ea370fd5d3a09c7
|
| Debian (amd64) | 81846da08b17c7c7bfebf6a175b56f06f81f9b51eca5d791d9cf2de8fa79afad
|
| Debian (arm64) | 3ced6c05a96072bc920b2e220094de8f800161db2ca3af2ac24cfb47969fec24
|
| RPM (x86_64) | d9590a0e9df3289bab21995e171fd0d539bab953ded4297e68a388d06e34608e
|
| RPM (aarch64) | 9485f43476e28917db0b6dadd120b332082b37e935d3919030180f601b8ae34e
|
Changes since last release
Forward-looking audit fixes (patches + CI hardening, verified against v1.13576.4)
A full audit of patches/docs/CI against the current bundle found the suite healthy (51/51 apply, Cowork contract intact in both native and KVM modes, no new Linux gaps). Four items were worth fixing, all low-risk:
fix_quick_entry_ready_wayland: fixed a latent runtime bug. The replacement hardcoded a logger (R.error) that does not exist at the patched call site (the live logger isS); the patch applied cleanly and passednode --check, but a rejected ready-to-show promise would throw a ReferenceError in the very catch meant to swallow it. Now captures and reuses the upstream logger var + catch param so it survives re-minifies.fix_imagine_linux: retargeted Patch C to the renamed flag. The Visualize/Imagine CCD gate2204227020was renamed to3516166472upstream, so Patch C had silently become a no-op (its standalone uses, including theread_widget_contexttool registration, were no longer forced ON). Retargeted to the new ID. Also rewrote the Patch B/C idempotency checks to assert the patched end-state and fail loudly if the flag disappears, instead of treating flag-absence as success.fix_native_frame_renderer: converted to a regression guard. Upstream upstreamed the fix (the main-window title-bar component now returnsnullnatively), so the patch had been silently no-opping via an accidental guard. It now positively asserts the upstream null short-circuit and fails the build if a future release reintroduces the pointer-absorbing drag region.- CI: glibc floors are now enforced, not just logged. The node-pty rebuild asserts the GLIBC_2.31 floor (Debian 11 / Ubuntu 22.04) and fails loudly instead of silently shipping an un-rebuilt binary when version detection fails; the aarch64 kwin-portal-bridge gained the same objdump-based GLIBC_2.39 gate the x86_64 binary already had.
Docs: added the missing fix_open_in_editor_linux row to the README patch table and corrected the obsolete fix_native_frame_renderer row; noted the 2204227020 -> 3516166472 rename and fixed contradictory version headers in CLAUDE_FEATURE_FLAGS.md. CLAUDE.md gained a strictness rule forbidding false-success reporting - an "already patched" line must assert the patched end-state, never the mere absence of the pre-patch pattern.
Upstream (v1.13576.4) - build bump, no patch work
- Version bump v1.13576.1 -> v1.13576.4 (patch-level rebuild of build 13576, hash
414f858c). Re-minify only; bundle functionally identical. - All 52 patches apply unchanged. Package built cleanly;
node --checkpasses. The lone validator "FAIL" (fix_ion_dist_linux) is a manual-extract artifact - ion-dist lives in the MSIX resources, notapp.asar; the patch applies fine against the extracted SPA. - No semantic changes vs v1.13576.1: platform-conditional counts (linux 10, darwin 77, win32 +1 vendored path helper), Agent SDK copies (0.3.174 / 0.3.177), built-in MCP servers (1), and all fragile anchors are unchanged - the diff is pure minified-identifier churn.
- No baseline-doc changes. Bumped
.upstream-version-> 1.13576.4.
Built-in terminal fixed (re: #143)
- New
fix_terminal_shell_linux.nim(51 patches total): the built-in agent/Cowork terminal now spawns a Linux shell instead of PowerShell. Upstream hardcodes the node-pty shell topowershell.exeon every platform, so on Linuxexecvp(3)fails and the PTY dies instantly ("Shell exited." / exit code 1). The patch rewrites only the shell string into a platform-aware ternary, anchored on the soleshell:"powershell.exe"occurrence. Thanks to Yannick Schäfer (@boommasterxd) for the fix (#144). - Off-Windows shell selection falls back
$SHELL→/bin/bash→/bin/sh. The/bin/shtier was added on top of the PR for NixOS (Nix flake target), which ships no/bin/bashby default; a runtimerequire("fs").existsSynccheck keeps the PTY from going dead when$SHELLis unset.