anthropics/claude-code#29559
Roll back claude version until this is fixed.
> [2/2] RUN set -e && GCS_DEFAULT="https://storage.googleapis.com/claude-code-dist-86c565f3-f756-42ad-8dfa-d59b1c096819/claude-code-releases" && INSTALL_SH_URL="https://claude.ai/install.sh" && GCS_BUCKET="" && if curl -fsSL --head "$GCS_DEFAULT/latest" >/dev/null 2>&1; then GCS_BUCKET="$GCS_DEFAULT"; else echo "Hardcoded GCS URL unreachable, discovering from $INSTALL_SH_URL..." >&2; DISCOVERED=$(curl -fsSL "$INSTALL_SH_URL" 2>/dev/null | sed -n 's/^GCS_BUCKET="\(.*\)"/\1/p' | head -1) && if [ -n "$DISCOVERED" ] && curl -fsSL --head "$DISCOVERED/latest" >/dev/null 2>&1; then GCS_BUCKET="$DISCOVERED"; fi; fi && if [ -z "$GCS_BUCKET" ]; then echo "ERROR: Could not resolve Claude Code download URL" >&2; exit 1; fi && echo "Using GCS bucket: $GCS_BUCKET" && case "$(uname -m)" in x86_64|amd64) CLAUDE_ARCH="x64" ;; aarch64|arm64) CLAUDE_ARCH="arm64" ;; *) echo "Unsupported architecture: $(uname -m)" >&2; exit 1 ;; esac && CLAUDE_PLATFORM="linux-${CLAUDE_ARCH}-musl" && CLAUDE_VERSION=$(curl -fsSL "$GCS_BUCKET/latest") && echo "Installing Claude Code v${CLAUDE_VERSION} for ${CLAUDE_PLATFORM}..." && MANIFEST=$(curl -fsSL "$GCS_BUCKET/$CLAUDE_VERSION/manifest.json") && EXPECTED_CHECKSUM=$(printf '%s' "$MANIFEST" | jq -r ".platforms["$CLAUDE_PLATFORM"].checksum // empty") && if [ -z "$EXPECTED_CHECKSUM" ] || ! echo "$EXPECTED_CHECKSUM" | grep -qE '^[a-f0-9]{64}$'; then echo "ERROR: No valid checksum for $CLAUDE_PLATFORM in manifest" >&2; exit 1; fi && mkdir -p "/home/user/.claude/downloads" && BINARY_PATH="/home/user/.claude/downloads/claude-${CLAUDE_VERSION}" && curl -fsSL -o "$BINARY_PATH" "$GCS_BUCKET/$CLAUDE_VERSION/$CLAUDE_PLATFORM/claude" && ACTUAL_CHECKSUM=$(sha256sum "$BINARY_PATH" | cut -d' ' -f1) && if [ "$ACTUAL_CHECKSUM" != "$EXPECTED_CHECKSUM" ]; then echo "ERROR: Checksum verification failed!" >&2; echo " Expected: $EXPECTED_CHECKSUM" >&2; echo " Actual: $ACTUAL_CHECKSUM" >&2; rm -f "$BINARY_PATH"; exit 1; fi && echo "Checksum verified: $ACTUAL_CHECKSUM" && chmod +x "$BINARY_PATH" && "$BINARY_PATH" install && rm -f "$BINARY_PATH" && if [ -d "/home/user/.local/share/claude/versions" ]; then latest_dir="$(ls -1d "/home/user/.local/share/claude/versions/"* | sort -V | tail -1)"; if [ -x "$latest_dir/bin/claude" ]; then ln -sf "$latest_dir/bin/claude" "/home/user/.local/bin/claude"; fi; fi && command -v claude >/dev/null && echo "Claude Code installed successfully":
0.467 Using GCS bucket: https://storage.googleapis.com/claude-code-dist-86c565f3-f756-42ad-8dfa-d59b1c096819/claude-code-releases
0.728 Installing Claude Code v2.1.63 for linux-arm64-musl...
6.982 Checksum verified: 324d682cf2ddc38a6d917c2cf1cebcf95fbdf3dea84d00708919fa94645b9290
6.985 Error relocating /home/user/.claude/downloads/claude-2.1.63: posix_getdents: symbol not found
------
Dockerfile:5
--------------------
4 | USER user
5 | >>> RUN set -e && \
6 | >>> GCS_DEFAULT="https://storage.googleapis.com/claude-code-dist-86c565f3-f756-42ad-8dfa-d59b1c096819/claude-code-releases" && \
7 | >>> INSTALL_SH_URL="https://claude.ai/install.sh" && \
8 | >>> GCS_BUCKET="" && \
9 | >>> if curl -fsSL --head "$GCS_DEFAULT/latest" >/dev/null 2>&1; then \
10 | >>> GCS_BUCKET="$GCS_DEFAULT"; \
11 | >>> else \
12 | >>> echo "Hardcoded GCS URL unreachable, discovering from $INSTALL_SH_URL..." >&2; \
13 | >>> DISCOVERED=$(curl -fsSL "$INSTALL_SH_URL" 2>/dev/null \
14 | >>> | sed -n 's/^GCS_BUCKET="\(.*\)"/\1/p' | head -1) && \
15 | >>> if [ -n "$DISCOVERED" ] && curl -fsSL --head "$DISCOVERED/latest" >/dev/null 2>&1; then \
16 | >>> GCS_BUCKET="$DISCOVERED"; \
17 | >>> fi; \
18 | >>> fi && \
19 | >>> if [ -z "$GCS_BUCKET" ]; then \
20 | >>> echo "ERROR: Could not resolve Claude Code download URL" >&2; exit 1; \
21 | >>> fi && \
22 | >>> echo "Using GCS bucket: $GCS_BUCKET" && \
23 | >>> case "$(uname -m)" in \
24 | >>> x86_64|amd64) CLAUDE_ARCH="x64" ;; \
25 | >>> aarch64|arm64) CLAUDE_ARCH="arm64" ;; \
26 | >>> *) echo "Unsupported architecture: $(uname -m)" >&2; exit 1 ;; \
27 | >>> esac && \
28 | >>> CLAUDE_PLATFORM="linux-${CLAUDE_ARCH}-musl" && \
29 | >>> CLAUDE_VERSION=$(curl -fsSL "$GCS_BUCKET/latest") && \
30 | >>> echo "Installing Claude Code v${CLAUDE_VERSION} for ${CLAUDE_PLATFORM}..." && \
31 | >>> MANIFEST=$(curl -fsSL "$GCS_BUCKET/$CLAUDE_VERSION/manifest.json") && \
32 | >>> EXPECTED_CHECKSUM=$(printf '%s' "$MANIFEST" | jq -r ".platforms[\"$CLAUDE_PLATFORM\"].checksum // empty") && \
33 | >>> if [ -z "$EXPECTED_CHECKSUM" ] || ! echo "$EXPECTED_CHECKSUM" | grep -qE '^[a-f0-9]{64}$'; then \
34 | >>> echo "ERROR: No valid checksum for $CLAUDE_PLATFORM in manifest" >&2; exit 1; \
35 | >>> fi && \
36 | >>> mkdir -p "$HOME/.claude/downloads" && \
37 | >>> BINARY_PATH="$HOME/.claude/downloads/claude-${CLAUDE_VERSION}" && \
38 | >>> curl -fsSL -o "$BINARY_PATH" "$GCS_BUCKET/$CLAUDE_VERSION/$CLAUDE_PLATFORM/claude" && \
39 | >>> ACTUAL_CHECKSUM=$(sha256sum "$BINARY_PATH" | cut -d' ' -f1) && \
40 | >>> if [ "$ACTUAL_CHECKSUM" != "$EXPECTED_CHECKSUM" ]; then \
41 | >>> echo "ERROR: Checksum verification failed!" >&2; \
42 | >>> echo " Expected: $EXPECTED_CHECKSUM" >&2; \
43 | >>> echo " Actual: $ACTUAL_CHECKSUM" >&2; \
44 | >>> rm -f "$BINARY_PATH"; exit 1; \
45 | >>> fi && \
46 | >>> echo "Checksum verified: $ACTUAL_CHECKSUM" && \
47 | >>> chmod +x "$BINARY_PATH" && \
48 | >>> "$BINARY_PATH" install && \
49 | >>> rm -f "$BINARY_PATH" && \
50 | >>> if [ -d "$HOME/.local/share/claude/versions" ]; then \
51 | >>> latest_dir="$(ls -1d "$HOME/.local/share/claude/versions/"* | sort -V | tail -1)"; \
52 | >>> if [ -x "$latest_dir/bin/claude" ]; then \
53 | >>> ln -sf "$latest_dir/bin/claude" "$HOME/.local/bin/claude"; \
54 | >>> fi; \
55 | >>> fi && \
56 | >>> command -v claude >/dev/null && \
57 | >>> echo "Claude Code installed successfully"
58 | USER root
--------------------
ERROR: failed to build: failed to solve: process "/bin/sh -c set -e && GCS_DEFAULT=\"https://storage.googleapis.com/claude-code-dist-86c565f3-f756-42ad-8dfa-d59b1c096819/claude-code-releases\" && INSTALL_SH_URL=\"https://claude.ai/install.sh\" && GCS_BUCKET=\"\" && if curl -fsSL --head \"$GCS_DEFAULT/latest\" >/dev/null 2>&1; then GCS_BUCKET=\"$GCS_DEFAULT\"; else echo \"Hardcoded GCS URL unreachable, discovering from $INSTALL_SH_URL...\" >&2; DISCOVERED=$(curl -fsSL \"$INSTALL_SH_URL\" 2>/dev/null | sed -n 's/^GCS_BUCKET=\"\\(.*\\)\"/\\1/p' | head -1) && if [ -n \"$DISCOVERED\" ] && curl -fsSL --head \"$DISCOVERED/latest\" >/dev/null 2>&1; then GCS_BUCKET=\"$DISCOVERED\"; fi; fi && if [ -z \"$GCS_BUCKET\" ]; then echo \"ERROR: Could not resolve Claude Code download URL\" >&2; exit 1; fi && echo \"Using GCS bucket: $GCS_BUCKET\" && case \"$(uname -m)\" in x86_64|amd64) CLAUDE_ARCH=\"x64\" ;; aarch64|arm64) CLAUDE_ARCH=\"arm64\" ;; *) echo \"Unsupported architecture: $(uname -m)\" >&2; exit 1 ;; esac && CLAUDE_PLATFORM=\"linux-${CLAUDE_ARCH}-musl\" && CLAUDE_VERSION=$(curl -fsSL \"$GCS_BUCKET/latest\") && echo \"Installing Claude Code v${CLAUDE_VERSION} for ${CLAUDE_PLATFORM}...\" && MANIFEST=$(curl -fsSL \"$GCS_BUCKET/$CLAUDE_VERSION/manifest.json\") && EXPECTED_CHECKSUM=$(printf '%s' \"$MANIFEST\" | jq -r \".platforms[\\\"$CLAUDE_PLATFORM\\\"].checksum // empty\") && if [ -z \"$EXPECTED_CHECKSUM\" ] || ! echo \"$EXPECTED_CHECKSUM\" | grep -qE '^[a-f0-9]{64}$'; then echo \"ERROR: No valid checksum for $CLAUDE_PLATFORM in manifest\" >&2; exit 1; fi && mkdir -p \"$HOME/.claude/downloads\" && BINARY_PATH=\"$HOME/.claude/downloads/claude-${CLAUDE_VERSION}\" && curl -fsSL -o \"$BINARY_PATH\" \"$GCS_BUCKET/$CLAUDE_VERSION/$CLAUDE_PLATFORM/claude\" && ACTUAL_CHECKSUM=$(sha256sum \"$BINARY_PATH\" | cut -d' ' -f1) && if [ \"$ACTUAL_CHECKSUM\" != \"$EXPECTED_CHECKSUM\" ]; then echo \"ERROR: Checksum verification failed!\" >&2; echo \" Expected: $EXPECTED_CHECKSUM\" >&2; echo \" Actual: $ACTUAL_CHECKSUM\" >&2; rm -f \"$BINARY_PATH\"; exit 1; fi && echo \"Checksum verified: $ACTUAL_CHECKSUM\" && chmod +x \"$BINARY_PATH\" && \"$BINARY_PATH\" install && rm -f \"$BINARY_PATH\" && if [ -d \"$HOME/.local/share/claude/versions\" ]; then latest_dir=\"$(ls -1d \"$HOME/.local/share/claude/versions/\"* | sort -V | tail -1)\"; if [ -x \"$latest_dir/bin/claude\" ]; then ln -sf \"$latest_dir/bin/claude\" \"$HOME/.local/bin/claude\"; fi; fi && command -v claude >/dev/null && echo \"Claude Code installed successfully\"" did not complete successfully: exit code: 127
[ERROR] Failed to build images: failed to build claude core image: exit status 1
anthropics/claude-code#29559
Roll back claude version until this is fixed.