zed-industries/zed · error
Prebuilt remote servers are not yet available for {os:?}. Se
Error message
Prebuilt remote servers are not yet available for {os:?}. See https://zed.dev/docs/remote-development What it means
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.
Source
Thrown at crates/remote/src/transport.rs:35
pub mod docker;
#[cfg(any(test, feature = "test-support"))]
pub mod mock;
pub mod ssh;
pub mod wsl;
/// Parses the output of `uname -sm` to determine the remote platform.
/// Takes the last line to skip possible shell initialization output.
fn parse_platform(output: &str) -> Result<RemotePlatform> {
let output = output.trim();
let uname = output.rsplit_once('\n').map_or(output, |(_, last)| last);
let Some((os, arch)) = uname.split_once(" ") else {
anyhow::bail!("unknown uname: {uname:?}")
};
let os = match os {
"Darwin" => RemoteOs::MacOs,
"Linux" => RemoteOs::Linux,
_ => anyhow::bail!(
"Prebuilt remote servers are not yet available for {os:?}. See https://zed.dev/docs/remote-development"
),
};
// exclude armv5,6,7 as they are 32-bit.
let arch = if arch.starts_with("armv8")
|| arch.starts_with("armv9")
|| arch.starts_with("arm64")
|| arch.starts_with("aarch64")
{
RemoteArch::Aarch64
} else if arch.starts_with("x86") {
RemoteArch::X86_64
} else {
anyhow::bail!(
"Prebuilt remote servers are not yet available for {arch:?}. See https://zed.dev/docs/remote-development"
)
};View on GitHub (pinned to f4178619ac)
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)
Defensive patterns
Strategy: validation
Validate before calling
os=$(ssh user@host 'uname -sm' | tail -1 | cut -d' ' -f1) case "$os" in Darwin|Linux) echo ok ;; *) echo "no prebuilt remote server for $os" ;; esac
Prevention
- Restrict remote development targets to Linux and macOS hosts
- On Windows, install WSL and target it rather than the native host
When it happens
Trigger: 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.
Common situations: BSD file servers, Solaris/AIX legacy hosts, Windows boxes without WSL installed.
Understand the failure class
Background: "unsupported platform" / "not supported on this platform" errors: what they mean and how to fix them — this error's family across 47 libraries.
Related errors
- Prebuilt remote servers are not yet available for {arch:?}.
- build ids may only contain lowercase letters, numbers, '.',
- registry dataset requires a name
- cannot open repository on disconnected remote machine
- unknown uname: {uname:?}
AI-assisted analysis of zed-industries/zed@f4178619ac (2026-08-20).
Data as JSON: /api/errors/234dc18f99ef26fe.
Report an issue: GitHub.