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
- Install a build for a supported architecture (x86_64 or aarch64) from the releases page
- 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)