claude-code - 💡(How to fix) Fix [BUG] Install script broken on Ubunutu 24.04 - x86

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

Error Message

Error Messages/Logs

Code Example

vagrant@sandbox:~$ curl -fsSL https://claude.ai/install.sh | sudo bash -x
+ set -e
+ TARGET=
+ [[ -n '' ]]
+ DOWNLOAD_BASE_URL=https://downloads.claude.ai/claude-code-releases
+ DOWNLOAD_DIR=/root/.claude/downloads
+ DOWNLOADER=
+ command -v curl
+ DOWNLOADER=curl
+ HAS_JQ=false
+ command -v jq
+ HAS_JQ=true
+ case "$(uname -s)" in
++ uname -s
+ os=linux
+ case "$(uname -m)" in
++ uname -m
+ arch=x64
+ '[' linux = darwin ']'
+ '[' linux = linux ']'
+ '[' -f /lib/libc.musl-x86_64.so.1 ']'
+ '[' -f /lib/libc.musl-aarch64.so.1 ']'
+ grep -q musl
+ ldd /bin/ls
+ platform=linux-x64
+ mkdir -p /root/.claude/downloads
++ download_file https://downloads.claude.ai/claude-code-releases/latest
++ local url=https://downloads.claude.ai/claude-code-releases/latest
++ local output=
++ '[' curl = curl ']'
++ '[' -n '' ']'
++ curl -fsSL https://downloads.claude.ai/claude-code-releases/latest
+ version=2.1.114
++ download_file https://downloads.claude.ai/claude-code-releases/2.1.114/manifest.json
++ local url=https://downloads.claude.ai/claude-code-releases/2.1.114/manifest.json
++ local output=
++ '[' curl = curl ']'
++ '[' -n '' ']'
++ curl -fsSL https://downloads.claude.ai/claude-code-releases/2.1.114/manifest.json
+ manifest_json='{
  "version": "2.1.114",
  "buildDate": "2026-04-17T22:43:08Z",
  "platforms": {
    "darwin-arm64": {
      "binary": "claude",
      "checksum": "bf1b4da368da7970f0d1d4a1675acea99b6f2ad94f24e9f8ccfcc7940ac67894",
      "size": 204534752
    },
    "darwin-x64": {
      "binary": "claude",
      "checksum": "1a30360b6240056a58ba9187c8f9d2e88e949e0f970d5cf81f8d69bc65568f6a",
      "size": 206004048
    },
    "linux-arm64": {
      "binary": "claude",
      "checksum": "9556b74e2c912e7dcaef90c91fd0dd5095364f8a9d71398de3c5c669612b828a",
      "size": 236653120
    },
    "linux-x64": {
      "binary": "claude",
      "checksum": "12bd4b0916deb06be17ffc7b2f0485e140bf00b2db3dcb78469d66723d73c27f",
      "size": 236411520
    },
    "linux-arm64-musl": {
      "binary": "claude",
      "checksum": "20c68c312e76fb81f52cd2006b1461a0eedd470798f44b9b4a833ad583ccc05b",
      "size": 229378496
    },
    "linux-x64-musl": {
      "binary": "claude",
      "checksum": "fbbcfa225e948d9263c39f8be29a956ea4bd3a445f79aa9396cdc3263ea05690",
      "size": 230676928
    },
    "win32-x64": {
      "binary": "claude.exe",
      "checksum": "6f4a961ea8a1d656c41dd71cbef202cb71d13c443f86818c721167c33f8a51fd",
      "size": 245966496
    },
    "win32-arm64": {
      "binary": "claude.exe",
      "checksum": "acdc5b7004491662f10622124c509b018a6a6c5566adf3e217f2dd4dad64ef34",
      "size": 242697888
    }
  }
}'
+ '[' true = true ']'
++ echo '{
  "version": "2.1.114",
  "buildDate": "2026-04-17T22:43:08Z",
  "platforms": {
    "darwin-arm64": {
      "binary": "claude",
      "checksum": "bf1b4da368da7970f0d1d4a1675acea99b6f2ad94f24e9f8ccfcc7940ac67894",
      "size": 204534752
    },
    "darwin-x64": {
      "binary": "claude",
      "checksum": "1a30360b6240056a58ba9187c8f9d2e88e949e0f970d5cf81f8d69bc65568f6a",
      "size": 206004048
    },
    "linux-arm64": {
      "binary": "claude",
++ jq -r '.platforms["linux-x64"].checksum // empty'
      "checksum": "9556b74e2c912e7dcaef90c91fd0dd5095364f8a9d71398de3c5c669612b828a",
      "size": 236653120
    },
    "linux-x64": {
      "binary": "claude",
      "checksum": "12bd4b0916deb06be17ffc7b2f0485e140bf00b2db3dcb78469d66723d73c27f",
      "size": 236411520
    },
    "linux-arm64-musl": {
      "binary": "claude",
      "checksum": "20c68c312e76fb81f52cd2006b1461a0eedd470798f44b9b4a833ad583ccc05b",
      "size": 229378496
    },
    "linux-x64-musl": {
      "binary": "claude",
      "checksum": "fbbcfa225e948d9263c39f8be29a956ea4bd3a445f79aa9396cdc3263ea05690",
      "size": 230676928
    },
    "win32-x64": {
      "binary": "claude.exe",
      "checksum": "6f4a961ea8a1d656c41dd71cbef202cb71d13c443f86818c721167c33f8a51fd",
      "size": 245966496
    },
    "win32-arm64": {
      "binary": "claude.exe",
      "checksum": "acdc5b7004491662f10622124c509b018a6a6c5566adf3e217f2dd4dad64ef34",
      "size": 242697888
    }
  }
}'
+ checksum=
vagrant@sandbox:~$ echo $?
126

---

curl -fsSL https://claude.ai/install.sh | sudo bash -x
RAW_BUFFERClick to expand / collapse

Preflight Checklist

  • I have searched existing issues and this hasn't been reported yet
  • This is a single bug report (please file separate reports for different bugs)
  • I am using the latest version of Claude Code

What's Wrong?

The install at https://claude.ai/install.sh errors.

What Should Happen?

Claude should install.

Error Messages/Logs

vagrant@sandbox:~$ curl -fsSL https://claude.ai/install.sh | sudo bash -x
+ set -e
+ TARGET=
+ [[ -n '' ]]
+ DOWNLOAD_BASE_URL=https://downloads.claude.ai/claude-code-releases
+ DOWNLOAD_DIR=/root/.claude/downloads
+ DOWNLOADER=
+ command -v curl
+ DOWNLOADER=curl
+ HAS_JQ=false
+ command -v jq
+ HAS_JQ=true
+ case "$(uname -s)" in
++ uname -s
+ os=linux
+ case "$(uname -m)" in
++ uname -m
+ arch=x64
+ '[' linux = darwin ']'
+ '[' linux = linux ']'
+ '[' -f /lib/libc.musl-x86_64.so.1 ']'
+ '[' -f /lib/libc.musl-aarch64.so.1 ']'
+ grep -q musl
+ ldd /bin/ls
+ platform=linux-x64
+ mkdir -p /root/.claude/downloads
++ download_file https://downloads.claude.ai/claude-code-releases/latest
++ local url=https://downloads.claude.ai/claude-code-releases/latest
++ local output=
++ '[' curl = curl ']'
++ '[' -n '' ']'
++ curl -fsSL https://downloads.claude.ai/claude-code-releases/latest
+ version=2.1.114
++ download_file https://downloads.claude.ai/claude-code-releases/2.1.114/manifest.json
++ local url=https://downloads.claude.ai/claude-code-releases/2.1.114/manifest.json
++ local output=
++ '[' curl = curl ']'
++ '[' -n '' ']'
++ curl -fsSL https://downloads.claude.ai/claude-code-releases/2.1.114/manifest.json
+ manifest_json='{
  "version": "2.1.114",
  "buildDate": "2026-04-17T22:43:08Z",
  "platforms": {
    "darwin-arm64": {
      "binary": "claude",
      "checksum": "bf1b4da368da7970f0d1d4a1675acea99b6f2ad94f24e9f8ccfcc7940ac67894",
      "size": 204534752
    },
    "darwin-x64": {
      "binary": "claude",
      "checksum": "1a30360b6240056a58ba9187c8f9d2e88e949e0f970d5cf81f8d69bc65568f6a",
      "size": 206004048
    },
    "linux-arm64": {
      "binary": "claude",
      "checksum": "9556b74e2c912e7dcaef90c91fd0dd5095364f8a9d71398de3c5c669612b828a",
      "size": 236653120
    },
    "linux-x64": {
      "binary": "claude",
      "checksum": "12bd4b0916deb06be17ffc7b2f0485e140bf00b2db3dcb78469d66723d73c27f",
      "size": 236411520
    },
    "linux-arm64-musl": {
      "binary": "claude",
      "checksum": "20c68c312e76fb81f52cd2006b1461a0eedd470798f44b9b4a833ad583ccc05b",
      "size": 229378496
    },
    "linux-x64-musl": {
      "binary": "claude",
      "checksum": "fbbcfa225e948d9263c39f8be29a956ea4bd3a445f79aa9396cdc3263ea05690",
      "size": 230676928
    },
    "win32-x64": {
      "binary": "claude.exe",
      "checksum": "6f4a961ea8a1d656c41dd71cbef202cb71d13c443f86818c721167c33f8a51fd",
      "size": 245966496
    },
    "win32-arm64": {
      "binary": "claude.exe",
      "checksum": "acdc5b7004491662f10622124c509b018a6a6c5566adf3e217f2dd4dad64ef34",
      "size": 242697888
    }
  }
}'
+ '[' true = true ']'
++ echo '{
  "version": "2.1.114",
  "buildDate": "2026-04-17T22:43:08Z",
  "platforms": {
    "darwin-arm64": {
      "binary": "claude",
      "checksum": "bf1b4da368da7970f0d1d4a1675acea99b6f2ad94f24e9f8ccfcc7940ac67894",
      "size": 204534752
    },
    "darwin-x64": {
      "binary": "claude",
      "checksum": "1a30360b6240056a58ba9187c8f9d2e88e949e0f970d5cf81f8d69bc65568f6a",
      "size": 206004048
    },
    "linux-arm64": {
      "binary": "claude",
++ jq -r '.platforms["linux-x64"].checksum // empty'
      "checksum": "9556b74e2c912e7dcaef90c91fd0dd5095364f8a9d71398de3c5c669612b828a",
      "size": 236653120
    },
    "linux-x64": {
      "binary": "claude",
      "checksum": "12bd4b0916deb06be17ffc7b2f0485e140bf00b2db3dcb78469d66723d73c27f",
      "size": 236411520
    },
    "linux-arm64-musl": {
      "binary": "claude",
      "checksum": "20c68c312e76fb81f52cd2006b1461a0eedd470798f44b9b4a833ad583ccc05b",
      "size": 229378496
    },
    "linux-x64-musl": {
      "binary": "claude",
      "checksum": "fbbcfa225e948d9263c39f8be29a956ea4bd3a445f79aa9396cdc3263ea05690",
      "size": 230676928
    },
    "win32-x64": {
      "binary": "claude.exe",
      "checksum": "6f4a961ea8a1d656c41dd71cbef202cb71d13c443f86818c721167c33f8a51fd",
      "size": 245966496
    },
    "win32-arm64": {
      "binary": "claude.exe",
      "checksum": "acdc5b7004491662f10622124c509b018a6a6c5566adf3e217f2dd4dad64ef34",
      "size": 242697888
    }
  }
}'
+ checksum=
vagrant@sandbox:~$ echo $?
126

Steps to Reproduce

curl -fsSL https://claude.ai/install.sh | sudo bash -x

Claude Model

None

Is this a regression?

Yes, this worked in a previous version

Last Working Version

idk

Claude Code Version

n/a

Platform

Other

Operating System

Ubuntu/Debian Linux

Terminal/Shell

Other

Additional Information

No response

extent analysis

TL;DR

The installation script is failing to retrieve the checksum for the Linux x64 platform, resulting in an empty checksum variable.

Guidance

  • The issue seems to be related to the jq command not returning the expected output for the Linux x64 platform.
  • Verify that the manifest.json file is correctly formatted and contains the expected data for the Linux x64 platform.
  • Check the install.sh script to ensure that the jq command is correctly parsing the manifest.json file.
  • Consider adding error handling to the install.sh script to handle cases where the jq command returns an empty value.

Example

checksum=$(jq -r '.platforms["linux-x64"].checksum' manifest.json)
if [ -z "$checksum" ]; then
  echo "Error: unable to retrieve checksum for Linux x64 platform"
  exit 1
fi

Notes

The provided logs indicate that the jq command is returning an empty value for the Linux x64 platform, but the manifest.json file appears to contain the expected data. Further investigation is needed to determine the root cause of the issue.

Recommendation

Apply a workaround by modifying the install.sh script to handle cases where the jq command returns an empty value, as shown in the example above.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

claude-code - 💡(How to fix) Fix [BUG] Install script broken on Ubunutu 24.04 - x86