zed-industries/zed · error · anyhow::Error

failed to spawn remote server

Error message

failed to spawn remote server

What it means

Fires in start_proxy when spawning the WSL `env ... proxy` process fails (wsl_command_impl spawn returned an OS error), so the remote server proxy could not be started over the WSL connection. Typically caused by a missing or non-executable remote binary, a broken WSL distribution, or the remote server binary not being downloaded/compatible.

Source

Thrown at crates/remote/src/transport/wsl.rs:470

        proxy_args.push(remote_binary_path.display(PathStyle::Unix).into_owned());
        proxy_args.push("proxy".to_owned());
        proxy_args.push("--identifier".to_owned());
        proxy_args.push(unique_identifier);

        if reconnect {
            proxy_args.push("--reconnect".to_owned());
        }

        let proxy_process =
            match wsl_command_impl(&self.connection_options, "env", &proxy_args, true)
                .kill_on_drop(true)
                .spawn()
            {
                Ok(process) => process,
                Err(error) => {
                    return Task::ready(Err(
                        anyhow::Error::new(error).context("failed to spawn remote server")
                    ));
                }
            };

        super::handle_rpc_messages_over_child_process_stdio(
            proxy_process,
            incoming_tx,
            outgoing_rx,
            connection_activity_tx,
            cx,
        )
    }

    fn upload_directory(
        &self,
        src_path: PathBuf,
        dest_path: RemotePathBuf,
        cx: &App,

View on GitHub (pinned to f4178619ac)

Solutions

  1. Verify the WSL distribution is installed and healthy (`wsl -l -v`, `wsl --update`)
  2. Check that the remote server binary path exists and is executable inside the WSL filesystem
  3. Retry the connection to re-download the remote server binary
  4. Check disk space and permissions in the WSL distro
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at crates/remote/src/transport/wsl.rs:470 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of zed-industries/zed@f4178619ac (2026-08-20). Data as JSON: /api/errors/72166acbb48e6ad7. Report an issue: GitHub.