{"record":{"id":"2b8d22477f7272e6","repo":"openai/codex","slug":"runner-no-pipe-in-provided","errorCode":null,"errorMessage":"runner: no pipe-in provided","messagePattern":"runner: no pipe-in provided","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"codex-rs/windows-sandbox-rs/src/bin/command_runner/win.rs","lineNumber":551,"sourceCode":"            }\n        }\n    })\n}\n\n/// Entry point for the Windows command runner process.\npub fn main() -> Result<()> {\n    let mut pipe_in = None;\n    let mut pipe_out = None;\n    for arg in std::env::args().skip(1) {\n        if let Some(rest) = arg.strip_prefix(\"--pipe-in=\") {\n            pipe_in = Some(rest.to_string());\n        } else if let Some(rest) = arg.strip_prefix(\"--pipe-out=\") {\n            pipe_out = Some(rest.to_string());\n        }\n    }\n\n    let Some(pipe_in) = pipe_in else {\n        anyhow::bail!(\"runner: no pipe-in provided\");\n    };\n    let Some(pipe_out) = pipe_out else {\n        anyhow::bail!(\"runner: no pipe-out provided\");\n    };\n\n    // Open both pipe ends under guards first so a failure on the second open cannot leak the\n    // first HANDLE. Only after both opens succeed do we transfer ownership into `File`, which\n    // then becomes responsible for closing them.\n    let h_pipe_in = OwnedWinHandle::new(open_pipe(&pipe_in, FILE_GENERIC_READ)?);\n    let h_pipe_out = OwnedWinHandle::new(open_pipe(&pipe_out, FILE_GENERIC_WRITE)?);\n    let mut pipe_read = unsafe { File::from_raw_handle(h_pipe_in.into_raw() as _) };\n    let pipe_write = Arc::new(StdMutex::new(unsafe {\n        File::from_raw_handle(h_pipe_out.into_raw() as _)\n    }));\n\n    let req = match read_spawn_request(&mut pipe_read) {\n        Ok(v) => v,\n        Err(err) => {","sourceCodeStart":533,"sourceCodeEnd":569,"githubUrl":"https://github.com/openai/codex/blob/339751715c64496cb86246bfb3935f40e309dd3d/codex-rs/windows-sandbox-rs/src/bin/command_runner/win.rs#L533-L569","documentation":"Error \"runner: no pipe-in provided\" thrown in openai/codex.","triggerScenarios":"Thrown at codex-rs/windows-sandbox-rs/src/bin/command_runner/win.rs:551 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"339751715c64496cb86246bfb3935f40e309dd3d","analyzedAt":"2026-08-25T05:35:09.876Z","schemaVersion":2},"datasetVersion":"2026-08-25T06:17:31.827Z"}