Skip to content

Claude Desktop 1.24012.9 (patch release 12)

Choose a tag to compare

@github-actions github-actions released this 31 Jul 20:09
· 65 commits to master since this release

Claude Desktop 1.24012.9 (patch release 12)

This release provides Claude Desktop version 1.24012.9 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.9-12/claude-desktop-extra-1.24012.9-12-x86_64.pkg.tar.zst
# ARM64
sudo pacman -U https://github.com/patrickjaja/claude-desktop-extra/releases/download/v1.24012.9-12/claude-desktop-extra-1.24012.9-12-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.9-12_amd64.deb
# ARM64
sudo apt install ./claude-desktop-extra_1.24012.9-12_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.9-12.x86_64.rpm
# ARM64
sudo dnf install ./claude-desktop-extra-1.24012.9-12.aarch64.rpm

NixOS / Nix

nix run github:patrickjaja/claude-desktop-extra

AppImage (Any Distro)

# x86_64
chmod +x Claude_Desktop-1.24012.9-x86_64.AppImage
./Claude_Desktop-1.24012.9-x86_64.AppImage
# ARM64
chmod +x Claude_Desktop-1.24012.9-aarch64.AppImage
./Claude_Desktop-1.24012.9-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) f9aaa3e2ca3c3de5089ac4c9ffd8607c627c7e4d29a768c87d3860446d1468b3
Arch pacman (aarch64) 0c643ec01c4e25f28f4e7fe1706de71a0710da5295873ec97dc9ac2ea84e0c32
Tarball (x86_64) 9374de74ffbb604625add39231c61fdf3948449593ceee1c7c118ef7dd426d1a
Tarball (aarch64) 52c4e822f68246aaab8c432e3cba964fddd44dae28ea06ac20a7acfdd170782c
AppImage (x86_64) 529ac2a9fadd458bafc691d40de1ebcba5cf89ca35ec001b254a76c1890d5020
AppImage (aarch64) f3085e1e1616547e5d71bd4b9df8d3b9756272da42d50d20f0c4881b979a4f78
Debian (amd64) 7353a9669cf2c722b4bd0464cf698b7b08bf592ecec4a6b4a0c7cf474ab492f1
Debian (arm64) 4f3396ca8d5b230f6c7cf73a4945391345079c0c4495abc7336a2c037eb08865
RPM (x86_64) c4af9cc28f358a4d1a85b4a3fcc18f262b825050678e44b7c42e20ea248307d3
RPM (aarch64) b3b96b8cbdf4c9dcd3b69f07417112b66cb68607f0d2a75293d2a4794dd5383e

Changes since last release

From CHANGELOG.md, 2026-07-31:

Settings → Extra → Deployment: a 1P/3P switch, and the whole 3P config as toggles

Third-party inference was a one-way door. Turning it on took a root shell to place /etc/claude-desktop/managed-settings.json, and getting back to a personal claude.ai login took knowing that deleting that file is not enough - the app keeps its own stored 3P config and boots from that, so the only way out was a launcher flag or hand-editing JSON in a directory most people never look at.

The new Deployment panel makes both directions a button. It has:

  • The mode switch. 1P / 3P, showing what the running session is, what the next start will use, and which config source decided that. It writes upstream's own deploymentMode key, which overrides a stored 3P configuration - so a machine that got stuck in 3P is one click and one restart from personal again, with nothing deleted.
  • The configuration, as a form. Every key of the managed-settings schema this build accepts, grouped the way upstream's own schema groups it: provider and credentials, model list, surfaces (Chat/Cowork/Code), workspace and egress allowlists, disabled built-in tools, connectors and extensions, plugins, telemetry, update policy, usage limits, branding, bootstrap. Booleans are switches, enums are selects, lists are one-per-line, and a key you never touch stays absent from the file so Claude Desktop keeps its own default. Provider-specific fields stay hidden until that provider is selected.
  • The stored configurations. The panel edits the applied entry of the same store upstream's 3P Setup wizard uses, so the two show each other's values. Its Active configuration picker switches between them - and picking None boots 1P while leaving every file on disk.
  • A raw JSON editor for anything the form does not cover, which rejects a key this build does not know instead of writing a file the app would then ignore whole.
  • Undo for everything. Each set key has a clear chip, the mode switch has one that forgets the saved choice so the stored configuration decides again, and the section heading has a clear all (two clicks, because it throws work away) for a handful of toggles flipped by mistake. Clearing never deletes a configuration file - the entry stays listed and can be filled in again.

Everything is written to your own profile directory (~/.config/Claude-3p/, per profile), 0600 in a 0700 dir, using only files upstream already reads - so no sudo, and no patch to the app's startup path. Stored credentials are write-only: the panel can replace one but never displays it, and it will not hand one to the claude.ai page it renders in. Two keys stay read-only there and remain yours to deploy through the policy file: disableDeploymentModeChooser, which is precisely what locks a machine into 3P, and managedMcpServers, whose entries can start a process. A valid /etc/claude-desktop/managed-settings.json still wins over all of it; the panel says so and turns read-only.

Also in this release: betaFeaturesEnabled no longer exists upstream. If your policy file still carries it, remove it - one unrecognized key makes Claude Desktop discard the entire managed file. docs/third-party-inference.md documents the new route and this trap.

Themes: Built-in and Community are one "Common" section

Whether a palette ships as a built-in or came from the community collection is a packaging detail, not something to pick a theme by - so the two sections are now one Common list, alphabetically, in both the Settings panel and the Ctrl+Shift+T picker. Your themes and Gaming are unchanged.

The Extra panels link the config file behind them

Each panel ends in the file it is really about, as a link: click the path to open it in your editor, or the folder button to show it in your file manager. Files that do not exist yet open their containing folder rather than failing. Themes names the file a click there actually persists to, which depends on which of claude-desktop-extra.jsonc / .json exists; Features links the .jsonc - the file you edit by hand, and the one whose flag ids win over the panel. The page asks for a location by name and never sends a path, so it cannot ask the desktop to open anything but our own files.

Links