Skip to content

Claude Desktop 1.15200.0

Latest

Choose a tag to compare

@github-actions github-actions released this 23 Jun 18:34
· 4 commits to master since this release

Claude Desktop 1.15200.0

This release provides Claude Desktop version 1.15200.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.15200.0-1_amd64.deb
# ARM64
sudo apt install ./claude-desktop-bin_1.15200.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.15200.0-1.x86_64.rpm
# ARM64
sudo dnf install ./claude-desktop-bin-1.15200.0-1.aarch64.rpm

NixOS / Nix

nix run github:patrickjaja/claude-desktop-bin

AppImage (Any Distro)

# x86_64
chmod +x Claude_Desktop-1.15200.0-x86_64.AppImage
./Claude_Desktop-1.15200.0-x86_64.AppImage
# ARM64
chmod +x Claude_Desktop-1.15200.0-aarch64.AppImage
./Claude_Desktop-1.15200.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) a9b718c6df92ee8d417457f18e6a837a02eaea680fd1a764e906a9f92521b54f
Tarball (aarch64) 96850b83ef13f38d061c9f16b8ebe1fd5e45dfd5708a956c54140fe694fd26db
AppImage (x86_64) 0c450e1628432e7c53640ee9b1e7fe75b21ce7146a60b303dfc5f61ecb86b84a
AppImage (aarch64) 187ac69028041364bb99b064bf294534d7b561b1d9f260a3308e17ee000c50d5
Debian (amd64) 94d768d3f55146e7000707defe9a16d20a21db9c4c5559b9672b5f1085e15309
Debian (arm64) d8707f34c09840f09fe3bd085a2074a244b1759b7660f30e42bcc44faf88eb00
RPM (x86_64) 6022dff30bf380cab3914bba9adb5df8b6ec45c388993171b2f3028da486003c
RPM (aarch64) efe878e05f4a1550acb8c8cd6d3971ce5f2ab05f5697602a6a3b708f86cf9e73

Changes since last release

Upstream bump v1.14271.0 -> v1.15200.0 (2 patches + 1 build-script fix; all 52 apply)

  • Version bump v1.14271.0 -> v1.15200.0, a full re-minify release. Routine for Linux: no new platform gate locks out a Linux feature, no new native modules, no new built-in MCP servers, and the Cowork RPC contract between Desktop and claude-cowork-service is byte-identical in both directions (same socket name, framing, 22 methods, 7 event types, spawn args). The six new IPC handlers (directMcpCallTool/directMcpListResources/directMcpReadResource, getCrForSession/getCrRefSummary, reportCommitHash) are renderer<->Electron-main only and never reach the daemon. Three things needed work.
  • enable_local_agent_mode: rebased the yukonSilver (Cowork) gate bypass. Upstream renamed the support function hre() -> $oe() and added a leading var r,n; hoist between the opening { and the delegate chain (const A=j4r();if(A)...). Patch 1b's anchor regex required {const immediately, so it matched 0 times and the patch failed. The pattern now allows an optional var <ids>; after the brace; the Linux early-return is injected before the hoist (the vars stay declared but unused on the Linux path - harmless). All 25 sub-patches apply; all 15 forced GrowthBook flag IDs and all 12 merger override feature names are still present (3 new upstream flags, none gating a cowork/code/dispatch surface, so nothing new to force on).
  • fix_enterprise_config_linux: tracked the renamed managed-config log. Upstream renamed the debug log "Enterprise config loaded: %o" -> "Managed config loaded: %o" and the loaded-variant redact argument is now a nested call (yXA(zJ(l)) vs the old single ZZA(o)). The debug->info promotion (which makes a successful non-empty enterprise load visible in main.log at the default level) matched 0 times and failed. Updated the string and loosened the arg pattern to match any non-{} call expression, so only the loaded case is promoted and the empty/"none" case stays at debug. The Linux /etc/claude-desktop/enterprise.json reader sub-patch was unaffected.
  • Build-script fix: node-pty 1.2.0-beta.13 moved to a prebuilds/ layout. Upstream bumped node-pty (Electron devDep now 42.4.0) to a prebuild-style package that ships prebuilds/win32-x64/ and no build/Release/ directory. build-patched-tarball.sh rebuilds node-pty for Linux and drops the result into build/Release/pty.node (which node-pty's loader still checks first), but the cp failed because the destination directory no longer exists. Added mkdir -p for the asar-contents build/Release dir, mirroring what the unpacked path already did. node-pty + spawn-helper now rebuild and the package completes.
  • Baselines re-validated and updated: CLAUDE_FEATURE_FLAGS.md (registry D_() -> z_(), merger PwA -> yDA, gate pR() -> HR(); 3 new flags noted), ION.md (96 MB / 747 JS / 973 files; config chunk Cjzc-_Hc -> QjesmIoF; vendor bundle now split per-lib), PLATFORM_GATE_BASELINE.md (darwin 73->76 / win32 124->125; one new darwin-only getExternalRelayConfig partner-extension relay classified NATIVE), and claude-cowork-service's COWORK_RPC_PROTOCOL.md (re-validated, no change). .electron-version stays 42.0.0 (the 42.4.0 is upstream's build-time devDep, used only for node-pty header matching; our shipped runtime is unchanged), so no .electron-shasums update.

Fix: missing GNOME/KDE dock icon - StartupWMClass did not match the real window class (#148)

  • Every .desktop we ship now sets StartupWMClass=claude-desktop instead of claude. The dock/taskbar icon was missing on GNOME (Fedora, Wayland) and KDE Plasma 6.7 (#148) because the running window's real X11 WM_CLASS / Wayland app_id is claude-desktop, not claude - confirmed here with xprop/wmctrl. GNOME/KDE match a window to its installed .desktop entry by StartupWMClass first, so the mismatch meant no icon. The window id comes from Chromium's GetXdgAppId(), which reads the app's desktopName (claude-desktop.desktop, set by upstream in app.asar package.json) and ignores the renamed Electron binary / --class / argv[0] - so renaming the binary to claude never set the window class, contrary to the old build comments. Fixed across all packaging formats: AUR (PKGBUILD.template), the .deb build script (packaging/debian/build-deb.sh, the path CI actually ships), the static packaging/debian/claude.desktop, the RPM spec, the AppImage build script, the Nix package, and the launcher's runtime-generated AppImage .desktop.
  • Corrected the misleading "Electron derives WM_CLASS from the binary basename" comments in those files and the launcher header to state the real source (desktopName). The binary rename and APP_ID="claude" (systemd scope / .desktop filename / cgroup portal identity) are unchanged - that is a separate identity signal and was already correct.
  • Known limitation, not addressed here: per-profile instances (--create-profile) still all report claude-desktop for the same reason (the shared app.asar desktopName wins over the per-profile binary basename), so they don't yet get distinct dock icons. A per-profile desktopName/CHROME_DESKTOP override (the mechanism fix_quick_entry_app_id.nim already uses) is the follow-up. Launcher/packaging-only change; no patch or upstream-version bump.
  • Builds on #154 by @noprogressinpleasure, which had the right diagnosis but covered only the static deb file (inert for CI releases) and the RPM spec.

Links