Skip to content

Claude Desktop 1.24012.11 (patch release 2)

Choose a tag to compare

@github-actions github-actions released this 07 Aug 08:37
· 36 commits to master since this release

Claude Desktop 1.24012.11 (patch release 2)

This release provides Claude Desktop version 1.24012.11 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-extra

Arch Linux (manual package)

# x86_64
sudo pacman -U https://github.com/patrickjaja/claude-desktop-extra/releases/download/v1.24012.11-2/claude-desktop-extra-1.24012.11-2-x86_64.pkg.tar.zst
# ARM64
sudo pacman -U https://github.com/patrickjaja/claude-desktop-extra/releases/download/v1.24012.11-2/claude-desktop-extra-1.24012.11-2-aarch64.pkg.tar.zst

Debian/Ubuntu (APT Repository — recommended)

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

Debian/Ubuntu (manual .deb)

# x86_64
sudo apt install ./claude-desktop-extra_1.24012.11-2_amd64.deb
# ARM64
sudo apt install ./claude-desktop-extra_1.24012.11-2_arm64.deb

Fedora/RHEL (RPM Repository — recommended)

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

Fedora/RHEL (manual .rpm)

# x86_64
sudo dnf install ./claude-desktop-extra-1.24012.11-2.x86_64.rpm
# ARM64
sudo dnf install ./claude-desktop-extra-1.24012.11-2.aarch64.rpm

NixOS / Nix

nix run github:patrickjaja/claude-desktop-extra

AppImage (Any Distro)

# x86_64
chmod +x Claude_Desktop-1.24012.11-x86_64.AppImage
./Claude_Desktop-1.24012.11-x86_64.AppImage
# ARM64
chmod +x Claude_Desktop-1.24012.11-aarch64.AppImage
./Claude_Desktop-1.24012.11-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
Arch pacman (x86_64) e7a89e6df2547d66a29dd966cef7de17109470f1b91dbcfa102e29316492b7ed
Arch pacman (aarch64) 360bffcf63f51c1d778269a32f0da1bec6b69fcd4ab292c4655dce40662e2182
Tarball (x86_64) b2ec868f12c42df5ee88718474988334861fd8293bd1b8de7f3788e632772c00
Tarball (aarch64) 0fe76118bb90990fe67d4f32e91c72ebce81be782d26d17066c01d08b7df79c5
AppImage (x86_64) e111ddb3d0cb1b6770f179db946874131e6bdac0b5d1cc707a10a9889e0716bb
AppImage (aarch64) ed5f23c3a9acd6a9f511dbba3cbef969865d0fca3a34fee25a79268973b5ec59
Debian (amd64) adc4353367ddeea2875b8489adaacaf204d39122e9ec00c9460e2d0183eb6983
Debian (arm64) c639f68e617ce17f8053397fcd302d2bc42855c3885c48453d7ef0b5e3453e35
RPM (x86_64) 8ab2f743b65a50d644c4a45fc7e73b5222c01deed9ba6995b8912e84fd4bd7bb
RPM (aarch64) 2d6b071b1fb1b75c72ec06f75de1efdf70eca5639f70ccc34683fda0c54a86c9

Changes since last release

From CHANGELOG.md, 2026-08-07:

Settings → Extra: our switches and Anthropic's flags are now two separate pages

The Features page held two unrelated things: the handful of optional features this project adds, and Anthropic's own 134 rollout flags. They are now one page each.

Community Features holds our switches - Diff view modes, Panel tabs, Calm the Cowork glow, and the new Theme picker hotkey - and gains the same filter box the flag list has, so a growing list stays quick to search. Anthropic Features holds the upstream flag list, the per-flag overrides and the "changes require a restart" notice with its Restart now button, unchanged. Nav order is Themes, Community Features, Anthropic Features, Deployment.

The new Theme picker hotkey switch (config key themePicker, on by default) turns the Ctrl+Shift+T gallery off for anyone who wants that shortcut back for something else. The theme list in Settings → Extra → Themes is unaffected.

Nothing moves on disk: both claude-desktop-extra.jsonc (yours, wins) and claude-desktop-extra.json (written by the UI) keep the same keys in the same places.

The Cowork glow switch named the wrong config file

When coworkGlow is set by hand, the switch locks itself and explains where the value came from - but it named claude-desktop-bin.jsonc, the filename from before the project was renamed. It now names claude-desktop-extra.jsonc, which is the file actually being read.

Patches are grouped by what they are for

patches/ was a flat directory of 45 .nim files where nothing distinguished a Linux bug fix from an optional feature. It is now three:

  • patches/linux/ (32) - Linux compatibility. Always on, nothing to configure.
  • patches/community/ (6) - optional features, each with a switch in Settings → Extra → Community Features.
  • patches/core/ (7) - always-on infrastructure the other two build on: the Extra settings pages, the theme engine, the flag-override mechanism, the multi-profile plumbing.

Patches still apply in basename order, so the split changes classification only, not behavior. scripts/apply_patches.py now pins the total in EXPECTED_PATCH_COUNT and refuses to run if discovery finds a different number - a patch cannot be added or lost without someone saying so. The README documents the recipe for adding a community feature.

The Code tab's side panels can open as tabs instead of a split

Diff, terminal, browser, files, artifacts and background tasks have always shared the panel area as a fixed split, each one shrinking to make room for its neighbours. A new Panel tabs switch (Settings → Extra → Community Features → Layout) turns that into a tab strip instead: each panel gets the full width of the panel area. Open panels the way you always have - the app's own toolbar buttons and its Session actions menu - and each one arrives as a new tab. Ctrl+1-9 jump straight to a tab, and closing one replays it through the panel's own close control, so panel teardown itself is unchanged. The chat column is unaffected.

Switching tabs shows and hides panels rather than rebuilding them, so every panel keeps its state: the diff panel's expanded and collapsed files are still expanded and collapsed when you come back, and the terminal keeps its scrollback and its size. Upstream's own layout is never rewritten to switch - the panels you are not looking at are still in it, just hidden - which is also why a switch is instant instead of taking the second a rebuild used to.

The consequence worth knowing: a hidden panel keeps running. A live preview goes on rendering and a browser tab goes on loading in the background, where closing a split pane would have torn them down. That is what makes them instant to come back to, and it costs some CPU for a preview that never stops moving.

The chat/side boundary stays where you put it. The panel area is sized as if it were a two-pane split - chat versus one panel - and that proportion is remembered per session, so opening or closing a panel no longer moves the boundary. Drag the divider between chat and the panel area to resize, exactly as before; where you drop it is where it stays, on every tab and after a reload.

The tab bar carries the expand control, at its right edge. Expanding spans the active panel across the window, and it stays expanded while you switch tabs, so you can flick between two panels at full width. Upstream discards the other panels while one is expanded, so the panel you switch to while expanded comes back fresh - collapse first if you want to keep where you were. With many tabs open the chips scroll sideways while the expand control stays pinned at the right edge, so it is always reachable.

Opening and closing panels does not disturb the layout. A panel the app has only just inserted is hidden before it can paint, rather than appearing as a second split for a few frames and then being tidied away, so the boundary holds still through the whole operation - measured at zero pixels of movement across every frame of an open and a close, where it previously jumped 165 px for around 90 ms each way.

Off by default, and off is a complete retreat: the tab bar and its styling are removed and upstream's real split layout is simply there again, because it was never replaced. Nothing you had open is lost. Only the active tab and the chat/side proportion are remembered per session - which panels are open is upstream's own record, so opening, closing or reordering panels in its UI is reflected in the tabs.

Because the Code tab is remote claude.ai code, the bar degrades rather than fights: if an update moves the internals it drives, it renders no bar and warns once, leaving the layout exactly as the app left it - and since it never rewrites that layout, the degraded state is just the stock split UI. Everything it reaches into is read-only: the only upstream controls it ever presses are the active panel's own close and expand buttons, and only when you press them. The anchors it depends on are inventoried with re-derivation recipes in baseline/PANEL_TABS_ANCHORS.md, which joins the per-release audit checklist.

Designed, built and hardened by @dels07 in #216 - thanks!

Diff views: the scope dropdown no longer survives a panel swap

Upstream reuses a panel's chrome row when one panel replaces another in the same slot, and the diff-views scope dropdown installed on that row could survive the swap and appear on a view it does not apply to. Installed dropdowns are now revalidated against the row's current view and removed when it no longer qualifies. A pre-existing bug, found and fixed in #216 because panel tabs made it easy to hit.

Release pipeline: releases can skip the AUR during an extended outage

The AUR preflight added on 2026-08-03 did its job: when the AUR went into maintenance again, the v1.24012.11 auto-release (run 30868900341) stopped before publishing anything, keeping every channel consistent. The right call for a blip - but this maintenance window has lasted days, freezing all channels behind one that is down. The release workflow now takes a skip_aur dispatch input: the AUR preflight and push are skipped, every other channel (GitHub Release, pacman repo assets, Pages apt/dnf repos, README/Nix versions) publishes normally, and the AUR catches up automatically on the next non-skipped release, since the push diffs the PKGBUILD against whatever the AUR currently holds. Unattended auto-releases keep the default false, so the fail-fast preflight still guards them.

Links