{"record":{"id":"234dc18f99ef26fe","repo":"zed-industries/zed","slug":"prebuilt-remote-servers-are-not-yet-available-for","errorCode":null,"errorMessage":"Prebuilt remote servers are not yet available for {os:?}. 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":35,"sourceCode":"pub mod docker;\n#[cfg(any(test, feature = \"test-support\"))]\npub mod mock;\npub mod ssh;\npub mod wsl;\n\n/// Parses the output of `uname -sm` to determine the remote platform.\n/// Takes the last line to skip possible shell initialization output.\nfn parse_platform(output: &str) -> Result<RemotePlatform> {\n    let output = output.trim();\n    let uname = output.rsplit_once('\\n').map_or(output, |(_, last)| last);\n    let Some((os, arch)) = uname.split_once(\" \") else {\n        anyhow::bail!(\"unknown uname: {uname:?}\")\n    };\n\n    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    };","sourceCodeStart":17,"sourceCodeEnd":53,"githubUrl":"https://github.com/zed-industries/zed/blob/f4178619acd0d47ea1f76a2025c42962c6d6638c/crates/remote/src/transport.rs#L17-L53","documentation":"parse_platform maps the OS token from `uname -sm` to RemoteOs; only Darwin and Linux have prebuilt remote servers (crates/remote/src/transport.rs:35). Any other OS token - FreeBSD, OpenBSD, SunOS, native Windows - fails with this message pointing at the remote-development docs.","triggerScenarios":"SSHing to a host whose `uname -sm` reports an OS other than Darwin or Linux, for example a FreeBSD file server or a native Windows sshd.","commonSituations":"BSD file servers, Solaris/AIX legacy hosts, Windows boxes without WSL installed.","solutions":["Use a Linux or macOS host for remote development","On Windows remotes, install WSL and connect to it instead","As a last resort, build the zed remote server from source for that OS (advanced and unsupported)"],"exampleFix":null,"handlingStrategy":"validation","validationCode":"os=$(ssh user@host 'uname -sm' | tail -1 | cut -d' ' -f1)\ncase \"$os\" in Darwin|Linux) echo ok ;; *) echo \"no prebuilt remote server for $os\" ;; esac","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Restrict remote development targets to Linux and macOS hosts","On Windows, install WSL and target it rather than the native host"],"tags":["ssh","remote","platform","os","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-14T00:17:10.932Z"}