Package Details: claude-desktop-bin 0.7.7-1

Git Clone URL: https://aur.archlinux.org/claude-desktop-bin.git (read-only, click to copy)
Package Base: claude-desktop-bin
Description: Unofficial Linux build of Claude Desktop AI assistant
Upstream URL: https://github.com/k3d3/claude-desktop-linux-flake
Licenses: custom
Submitter: Somvilla
Maintainer: Somvilla
Last Packager: Somvilla
Votes: 0
Popularity: 0.000000
First Submitted: 2024-12-19 00:17 (UTC)
Last Updated: 2024-12-21 15:38 (UTC)

Latest Comments

zlqrn commented on 2025-05-12 01:06 (UTC) (edited on 2025-05-12 06:28 (UTC) by zlqrn)

if anybody is out there reading this.

sudo npm i -g asar

after installing with yay, check this folder /usr/lib/electron36/resources/ and sudo nano en-US.json and create a file with only this "{}" (without the quotes).

3 minutes so far, i have been able to login, chat, and hasnt crashed. what is not good (for me) is that you cant reload or refresh to update the chats. very inconvenient.

much better than dealing with 60GB of cloning the entire electron25 repository and battling nodejs hydrogen LTS which expired arpil 2025, but spent half a day trying to get mcp servers to work, did not win. also no reload so updating the chats is not convenient in this app.

much appreciated to those who worked on this, definitely a good attempt and much learned.

try: claude-desktop-arch, seems very promising so far and there is something nice about seeing cluade-desktop for windows on arch linux

prochac commented on 2025-04-03 21:40 (UTC)

The PKGBUILD from @AstroSteveo installs the app, but it only opens a blank window for me.

AstroSteveo commented on 2025-03-11 06:31 (UTC) (edited on 2025-03-11 06:32 (UTC) by AstroSteveo)

The PKGBUILD is missing the required en-US.json file preventing the app from running. It is also missing the asar package as a dependency. I have updated the PKGBUILD to implement these changes. Additionally, I added MimeType=x-scheme-handler/claude to the claude-desktop.desktop file to fix Google login.

# Maintainer: Your Name <your@email.com>
pkgname=claude-desktop-bin
pkgver=0.7.8
pkgrel=2
pkgdesc="Unofficial Linux build of Claude Desktop AI assistant"
arch=('x86_64')
url="https://github.com/k3d3/claude-desktop-linux-flake"
license=('custom')
depends=(
    'electron34'
    'nodejs'
)
makedepends=(
    'p7zip'
    'imagemagick'
    'icoutils'
    'rust'
    'cargo'
    'asar'
)
source=(
    "Claude-Setup-x64.exe::https://storage.googleapis.com/osprey-downloads-c02f6a0d-347c-492b-a752-3e0651722e97/nest-win-x64/Claude-Setup-x64.exe"
    "git+https://github.com/k3d3/claude-desktop-linux-flake.git"
)
sha256sums=('SKIP' 'SKIP')  # We'll add proper hashes later

prepare() {
    cd "${srcdir}"
    # Build patchy-cnb
    cd claude-desktop-linux-flake/patchy-cnb
    cargo build --release
}

package() {
    cd "${srcdir}"
    # Create working directory
    mkdir -p build
    cd build
    # Extract the Windows installer
    7z x ../Claude-Setup-x64.exe
    # Find and extract the nupkg file dynamically
    NUPKG_FILE=$(ls AnthropicClaude*-full.nupkg)
    7z x "$NUPKG_FILE"
    # Extract and convert icons
    wrestool -x -t 14 lib/net45/claude.exe -o claude.ico
    icotool -x claude.ico
    # Install icons
    for f in claude_*.png; do
    if [ -f "$f" ]; then
        size=$(identify -format "%wx%h" "$f" | cut -d'x' -f1)
        install -Dm644 "$f" "${pkgdir}/usr/share/icons/hicolor/${size}x${size}/apps/claude-desktop.png"
    fi
        done
    # Process app.asar
    mkdir -p electron-app
    cp "lib/net45/resources/app.asar" electron-app/
    cp -r "lib/net45/resources/app.asar.unpacked" electron-app/
    cd electron-app
    asar extract app.asar app.asar.contents
    # Replace native bindings with our Linux version
    local target_triple="x86_64-unknown-linux-gnu"
    install -Dm755 "${srcdir}/claude-desktop-linux-flake/patchy-cnb/target/release/libpatchy_cnb.so" \
        "app.asar.contents/node_modules/claude-native/claude-native-binding.node"
    cp "app.asar.contents/node_modules/claude-native/claude-native-binding.node" \
        "app.asar.unpacked/node_modules/claude-native/claude-native-binding.node"
    # Copy Tray icons
    mkdir -p app.asar.contents/resources
    cp ../lib/net45/resources/Tray* app.asar.contents/resources/
    # Repack app.asar
    asar pack app.asar.contents app.asar
    # Install application files
    install -dm755 "${pkgdir}/usr/lib/claude-desktop"
    cp app.asar "${pkgdir}/usr/lib/claude-desktop/"
    cp -r app.asar.unpacked "${pkgdir}/usr/lib/claude-desktop/"

    # Ensure tray icons are in the proper location
    mkdir -p "${pkgdir}/usr/lib/claude-desktop/resources"
    cp -r app.asar.contents/resources/Tray* "${pkgdir}/usr/lib/claude-desktop/resources/"

    # Create desktop entry
    install -Dm644 /dev/stdin "${pkgdir}/usr/share/applications/claude-desktop.desktop" << EOF
[Desktop Entry]
Name=Claude
Exec=claude-desktop %U
Icon=claude-desktop
Type=Application
Categories=Office;Utility;
Comment=Claude Desktop AI assistant
MimeType=x-scheme-handler/claude
EOF

    # Add the missing file 
    mkdir -p "${pkgdir}/usr/lib/electron34/resources/"
    echo '{}' > "${pkgdir}/usr/lib/electron34/resources/en-US.json"

    # Create launcher script
    install -Dm755 /dev/stdin "${pkgdir}/usr/bin/claude-desktop" << EOF
#!/bin/sh
exec electron34 /usr/lib/claude-desktop/app.asar "\$@"
EOF

    # Add license file
    mkdir -p "${pkgdir}/usr/share/licenses/${pkgname}"
    echo "See https://github.com/k3d3/claude-desktop-linux-flake for license information" > "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}

lingster commented on 2025-01-14 17:52 (UTC)

you may need to install asar first for this to work.

npm i -g asar

That1Calculator commented on 2025-01-13 20:54 (UTC)

As of the latest build (which should be 0.7.8), my tray icon seems to have gone away, and it's not telling Dbus its name.

DeltaWhy commented on 2025-01-06 14:15 (UTC)

Doesn't build as-is - it needs 'asar' but it's not listed as a makedep.