Add download progress indicator to install script

Resolved 💬 3 comments Opened Dec 19, 2025 by nateober Closed Dec 22, 2025

Problem

When running the install command:

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

The 156MB binary download happens silently with no progress indication. Users see no output and may think the installer is hanging.

Cause

The download_file() function in bootstrap.sh uses curl -fsSL for all downloads, including the large binary. The -s (silent) flag suppresses progress output.

While -s is necessary for the initial script fetch (to avoid interfering with the pipe to bash), it's unnecessary for the subsequent binary download since that runs after the script is already executing.

Suggested Fix

In the download_file() function, use -fL instead of -fsSL when downloading to a file (the binary), while keeping -fsSL for stdout downloads (manifest, version file):

download_file() {
    local url="$1"
    local output="$2"
    
    if [ "$DOWNLOADER" = "curl" ]; then
        if [ -n "$output" ]; then
            curl -fL -o "$output" "$url"  # Show progress for file downloads
        else
            curl -fsSL "$url"  # Stay silent for stdout (piped content)
        fi
    # ... wget equivalent
}

This would give users visual feedback during the ~156MB download without breaking the pipe-to-bash installation pattern.

---
Submitted by: Nate Ober (nateober@gmail.com)

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗