github patrickjaja/claude-desktop-bin v1.15962.0
Claude Desktop 1.15962.0

4 hours ago

Claude Desktop 1.15962.0

This release provides Claude Desktop version 1.15962.0 pre-patched for Linux.

Installation Options

Arch Linux (AUR)

yay -S claude-desktop-bin

Debian/Ubuntu (APT Repository — recommended)

curl -fsSL https://patrickjaja.github.io/claude-desktop-bin/install.sh | sudo bash
sudo apt install claude-desktop-bin

Debian/Ubuntu (manual .deb)

# x86_64
sudo apt install ./claude-desktop-bin_1.15962.0-1_amd64.deb
# ARM64
sudo apt install ./claude-desktop-bin_1.15962.0-1_arm64.deb

Fedora/RHEL (RPM Repository — recommended)

curl -fsSL https://patrickjaja.github.io/claude-desktop-bin/install-rpm.sh | sudo bash
sudo dnf install claude-desktop-bin

Fedora/RHEL (manual .rpm)

# x86_64
sudo dnf install ./claude-desktop-bin-1.15962.0-1.x86_64.rpm
# ARM64
sudo dnf install ./claude-desktop-bin-1.15962.0-1.aarch64.rpm

NixOS / Nix

nix run github:patrickjaja/claude-desktop-bin

AppImage (Any Distro)

# x86_64
chmod +x Claude_Desktop-1.15962.0-x86_64.AppImage
./Claude_Desktop-1.15962.0-x86_64.AppImage
# ARM64
chmod +x Claude_Desktop-1.15962.0-aarch64.AppImage
./Claude_Desktop-1.15962.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
Tarball (x86_64) e15817f8c4692bc48fe83a70a10cdaecb168a8f20520b387aafc7add3df80aab
Tarball (aarch64) 8e5b95af076e132e84350ec47acd36199c83fd6e88f258bff83f6b81547d2c4d
AppImage (x86_64) 52435cf76a0470509e70b1a52c67a1c3d3dc9b79fbcd4e12f0f575e4ded2ff28
AppImage (aarch64) 90a89b43de58397dc4cd891d6cd0f6ba92c4fd046db7bb55b6bb7103cb8fbe79
Debian (amd64) 78e806092c874fb9bf43e3a64e4a30885235eeff75ffd778557b4ec994ad6e5a
Debian (arm64) f6cdb2128ddd257ef97f540a37e0c33e7dd19862ff7a06696ceb5d7efd1d9efa
RPM (x86_64) 1c1b25ffa4e8da251be578fc732d72de7029f30cc5aee451f5ce5501f61b5d95
RPM (aarch64) de0219b80065c9f0cb433e4e61beeb06d69193eee97a2f444918d0aade16d4e0

Changes since last release

Fix: Computer Use broken on Linux - Cowork executor factory fell through to throw (#159)

  • Cowork / agent Computer Use failed on Linux with computer-use executor not implemented for linux (#159, thanks @Adiker for the precise diagnosis). As of v1.15200 upstream split executor resolution into two factories. fix_computer_use_linux.nim already (a) injects our full globalThis.__linuxExecutor (ydotool/xdotool input, grim/spectacle/scrot screenshots, multi-monitor, KDE kwin-bridge) at app-ready and (b) routes createDarwinExecutor to it. But the second factory - the one the Cowork/agent path actually calls - has the shape {const{…,hostBundleId:Z()};if(win32)return …;if(darwin)return …;throw "computer-use executor not implemented for ${platform}"} with no linux branch, so on Linux it fell straight to the throw. This is a factory dispatch, not a process.platform=== guard, which is why a platform-gate count diff didn't surface it.
  • Fix: new sub-patch (Patch 4d, count 35 -> 36) injects if(process.platform==="linux"&&globalThis.__linuxExecutor)return globalThis.__linuxExecutor; immediately before that throw, anchored on the unique if(process.platform==="darwin")return X(Y);throw "…executor not implemented…" site. Both factories now resolve to the same already-injected __linuxExecutor; the &&globalThis.__linuxExecutor guard preserves a clean fallback to the original throw (no regression). Idempotency keys on the linux branch being present at this throw-site (Rule 6), not merely existing somewhere (Patch 4 injects an identical string into createDarwinExecutor). Matches the one-line fix the reporter verified working (screenshot/click/type/multi-monitor). (Gotcha fixed along the way: the throw interpolates ${process.platform}, whose body has a ., so the placeholder anchor is [\w$.]+ - [\w$]+ stops at the dot and silently 0-matches.)

Upstream bump v1.15200.0 -> v1.15962.0 (4 patches fixed; all apply)

  • Version bump v1.15200.0 -> v1.15962.0, a full re-minify release. Routine for Linux: no new platform gate locks out a Linux feature (darwin/win32/linux gate counts unchanged at 76/125/10; the only structural change is the removal of a macOS-only disclaimer Helpers command wrapper, a Linux no-op), no new native modules, no new built-in MCP servers, and the Cowork RPC contract between Desktop and claude-cowork-service is functionally identical (same socket name, framing, 22 prior methods, 7 event types, spawn args/env). Three patches needed rebasing for the re-minify (a fourth, fix_computer_use_linux, gained a sub-patch for #159 - see the entry above).
  • fix_quick_entry_cli_toggle: the Quick Entry show-handler's focus branch gained an argument. Upstream changed the registration arrow from ?(w.focus(),i9t()) to ?(w.focus(),GZt(tt)) - the focus-branch call now takes the window var. Sub-patch A's anchor required empty parens (,[\w$]+\(\)\)), so it matched 0 times. Widened both ternary-branch call arg-lists from \(\) to \([\w$]*\). The arrow prefix/body slice is unchanged; sub-patch B (second-instance) was unaffected.
  • fix_window_bounds: a new setup call was inserted into the main-window factory. The factory went from …Mk(w.webContents,MAIN_WINDOW),w} to …ev(tt.webContents,MAIN_WINDOW),Cft(tt),tt} - a Cft(tt) call now sits between the MAIN_WINDOW setup call and the trailing ,w} return, breaking the adjacency the regex anchored on. Added a second lazy (.*?) group after the setup call (re-emitted verbatim, so the new call is preserved and the bounds-fix IIFE is injected just before ,w}).
  • fix_cowork_linux Patch G: the smol-bin copy gate was wrapped in a GrowthBook-readiness await. Upstream changed if(process.platform==="win32"){const …} to if(await BO(),process.platform==="win32"){await L9(5e3),await Promise.race([…]);const …} (BO = waitForGrowthBookReady). The old anchor keyed on if( immediately before the gate plus the {const …} body shape. Re-anchored on the gate expression only (process.platform==="win32")({…\smol-bin.) via a [^}]+ body matcher terminated by the smol-bin. tail (unique - the bare gate appears 68x but only this one precedes a resourcesPath/smol-bin join), and dropped the leading if( from the replacement so the await BO(), prefix is preserved. The Linux KVM opt-in (||process.platform==="linux"&&globalThis.__coworkKvmMode) is unchanged.
  • New in v1.15962, no patch needed: upstream now ships bundled skills (resources/bundled-skills/ with docx/pdf/pdf-reading/pptx/xlsx/frontend-design + a manifest), and usesLocalSkillStorage() now returns those bundled skills instead of an empty list. This may partially close the gap where document-skills were unavailable on 3p/gateway deployments (a manual workaround we documented) - worth a re-test on 3p, but it adds no platform-gated code. Also added: 14 renderer<->main IPC handlers (an external-browser-preview surface that is hard-disabled in this build, MCP-OAuth + folder-picker channels for local sessions, an SSH-target setter, and a plugin-bridge listServers) - none touch platform/spawn/native code.
  • Cowork daemon: no change required. v1.15962 adds a getNetworkDrives RPC and a networkDrives field on configure; both are absorbed by the daemon's existing tolerance (unknown-method default returns null -> Desktop falls back to [] inside a try/catch; the unknown configure field is dropped by a non-strict json.Unmarshal). COWORK_RPC_PROTOCOL.md updated to record this.
  • Baselines re-validated and updated: CLAUDE_FEATURE_FLAGS.md (registry z_() -> QR(), merger yDA -> HSA, gate HR() -> gM(), reader nt() -> it(), yukonSilver fn $oe() -> Uae(); 4 GrowthBook flags added / 1 removed, none gating a cowork/code/dispatch surface, so the enable_local_agent_mode override list is unchanged - all 15 forced flag IDs + 12 merger override names still present), ION.md (97 MB / 758 JS / 984 files / 25 CSS; config chunk QjesmIoF -> DAO_m0do; ternary obj var ft -> mt; fix_ion_dist_linux.nim still applies cleanly), and PLATFORM_GATE_BASELINE.md (gate counts unchanged; one macOS-only gate removed). .electron-version stays 42.0.0, so no .electron-shasums update.

Links

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

NewReleases is sending notifications on new releases.