zed-industries/zed · error

wsl.exe stdin upload failed (status {:?}): {}

Error message

wsl.exe stdin upload failed (status {:?}): {}

What it means

During stream_file_into_wsl, the wsl.exe child process that receives file bytes on stdin exited with a non-success status; the status and stderr are embedded in this error to explain the failed upload.

Source

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

            .spawn()
            .context("failed to spawn wsl.exe for stdin upload")?;
        let mut stdin = child
            .stdin
            .take()
            .context("wsl.exe child did not expose stdin")?;

        let copy_result = io::copy(&mut file, &mut stdin).await;
        let flush_result = stdin.flush().await;
        drop(stdin);

        let output = child
            .output()
            .await
            .context("failed to await wsl.exe stdin-upload child")?;

        if !output.status.success() {
            let stderr = String::from_utf8_lossy(&output.stderr);
            anyhow::bail!(
                "wsl.exe stdin upload failed (status {:?}): {}",
                output.status.code(),
                stderr.trim()
            );
        }

        copy_result.with_context(|| {
            format!("failed to write {} into wsl.exe stdin", src_path.display())
        })?;
        flush_result.context("failed to flush wsl.exe stdin")?;

        Ok(())
    }

    async fn extract_and_install(
        &self,
        tmp_path: &RelPath,
        dst_path: &RelPath,

View on GitHub (pinned to f4178619ac)

Solutions

  1. Check disk space and permissions inside the WSL distribution
  2. Re-run the upload; transient wsl.exe failures often succeed on retry
  3. Verify wsl.exe and the target distribution are healthy (`wsl -l -v`)
  4. Inspect the captured stderr in the error for the wsl-side failure
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at crates/remote/src/transport/wsl.rs:377 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/61420743ad92aca1. Report an issue: GitHub.