Kuberwastaken/claurst · error

Unsupported architecture for upgrade

Error message

Unsupported architecture for upgrade

What it means

Target-detection guard in the upgrade path: cfg!(target_arch) matched neither x86_64 nor aarch64 (e.g. riscv64, i686), so no release asset exists for this CPU architecture. Self-upgrade cannot map the current build to a downloadable artifact.

Solutions

  1. Install a build for a supported architecture (x86_64 or aarch64) from the releases page
  2. If on exotic hardware, build from source with cargo build --release
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at src-rust/crates/cli/src/upgrade.rs:164 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of Kuberwastaken/claurst@b0637c97ec (2026-09-10). Data as JSON: /api/errors/9e1f0dc58be5930d. Report an issue: GitHub.

Appendix: source

Thrown at src-rust/crates/cli/src/upgrade.rs:164

// ---------------------------------------------------------------------------

fn detect_target() -> Result<String> {
    let os = if cfg!(target_os = "linux") {
        "linux"
    } else if cfg!(target_os = "macos") {
        "macos"
    } else if cfg!(target_os = "windows") {
        "windows"
    } else {
        bail!("Unsupported OS for upgrade");
    };

    let arch = if cfg!(target_arch = "x86_64") {
        "x86_64"
    } else if cfg!(target_arch = "aarch64") {
        "aarch64"
    } else {
        bail!("Unsupported architecture for upgrade");
    };

    Ok(format!("{}-{}", os, arch))
}

fn archive_name_for_target(target: &str) -> (String, bool) {
    if target.starts_with("windows") {
        (format!("{}-{}.zip", APP, target), true)
    } else {
        (format!("{}-{}.tar.gz", APP, target), false)
    }
}

// ---------------------------------------------------------------------------
// GitHub API: latest version
// ---------------------------------------------------------------------------

async fn fetch_latest_version() -> Result<String> {

View on GitHub (pinned to b0637c97ec)