{"record":{"id":"d484f04f8afa4dc6","repo":"zed-industries/zed","slug":"prebuilt-remote-servers-are-not-yet-available-for-d484f0","errorCode":null,"errorMessage":"Prebuilt remote servers are not yet available for {arch:?}. See https://zed.dev/docs/remote-development","messagePattern":"Prebuilt remote servers are not yet available for (.+?)\\. See https://zed\\.dev/docs/remote-development","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/remote/src/transport.rs","lineNumber":50,"sourceCode":"    let os = match os {\n        \"Darwin\" => RemoteOs::MacOs,\n        \"Linux\" => RemoteOs::Linux,\n        _ => anyhow::bail!(\n            \"Prebuilt remote servers are not yet available for {os:?}. See https://zed.dev/docs/remote-development\"\n        ),\n    };\n\n    // exclude armv5,6,7 as they are 32-bit.\n    let arch = if arch.starts_with(\"armv8\")\n        || arch.starts_with(\"armv9\")\n        || arch.starts_with(\"arm64\")\n        || arch.starts_with(\"aarch64\")\n    {\n        RemoteArch::Aarch64\n    } else if arch.starts_with(\"x86\") {\n        RemoteArch::X86_64\n    } else {\n        anyhow::bail!(\n            \"Prebuilt remote servers are not yet available for {arch:?}. See https://zed.dev/docs/remote-development\"\n        )\n    };\n\n    Ok(RemotePlatform { os, arch })\n}\n\n/// The command (program + args) used to read a remote host's OS version, given\n/// its detected OS.\n///\n/// The output is parsed by [`parse_os_version`].\npub(crate) fn os_version_command(os: RemoteOs) -> (&'static str, &'static [&'static str]) {\n    match os {\n        // Matches the `/etc/os-release` parsing in `client::telemetry::os_version`.\n        RemoteOs::Linux => (\"cat\", &[\"/etc/os-release\"]),\n        RemoteOs::MacOs => (\"sw_vers\", &[\"-productVersion\"]),\n        // Prints e.g. \"Microsoft Windows [Version 10.0.19045.5011]\".\n        RemoteOs::Windows => (\"cmd.exe\", &[\"/c\", \"ver\"]),","sourceCodeStart":32,"sourceCodeEnd":68,"githubUrl":"https://github.com/zed-industries/zed/blob/f4178619acd0d47ea1f76a2025c42962c6d6638c/crates/remote/src/transport.rs#L32-L68","documentation":"The arch token from `uname -sm` is accepted only for 64-bit ARM (armv8/armv9/arm64/aarch64) and the x86 family (x86_64); 32-bit ARM (armv5/6/7) is deliberately excluded and exotic ISAs match neither branch (crates/remote/src/transport.rs:50). Anything else - riscv64, loongarch64, i686, armv7l - fails because no prebuilt remote server exists.","triggerScenarios":"A remote host reporting an architecture other than aarch64 or x86_64, e.g. `uname -sm` returning \"Linux armv7l\", \"Linux riscv64\", or \"Linux i686\".","commonSituations":"Older Raspberry Pi models running a 32-bit OS; RISC-V or Loongson boards; 32-bit i686 installations.","solutions":["Use a 64-bit ARM or x86_64 host - on a Raspberry Pi, boot a 64-bit OS","Cross-compile the remote server from source for the exotic architecture (advanced)","Track upstream support for the architecture"],"exampleFix":null,"handlingStrategy":"validation","validationCode":"arch=$(ssh user@host 'uname -sm' | tail -1 | cut -d' ' -f2)\ncase \"$arch\" in\n    aarch64|arm64|armv8*|armv9*|x86_64) echo ok ;;\n    *) echo \"no prebuilt remote server for $arch (use a 64-bit ARM or x86_64 host)\" ;;\nesac","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Use 64-bit OSes on ARM boards (32-bit armv7 is deliberately unsupported)","Standardize remote hosts on x86_64 or aarch64"],"tags":["ssh","remote","platform","architecture","unsupported-platform"],"backgroundTag":"unsupported-platform","analyzedSha":"f4178619acd0d47ea1f76a2025c42962c6d6638c","analyzedAt":"2026-08-20T19:29:52.058Z","contentChangedAt":"2026-08-20T19:29:52.058Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}