{"record":{"id":"02643f7c018b9a52","repo":"zed-industries/zed","slug":"invalid-argv-in-kernelspec","errorCode":null,"errorMessage":"Invalid argv in kernelspec {}","messagePattern":"Invalid argv in kernelspec (.+?)","errorType":"validation","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"crates/repl/src/kernels/native_kernel.rs","lineNumber":48,"sourceCode":"    pub path: PathBuf,\n    pub kernelspec: JupyterKernelspec,\n}\n\nimpl PartialEq for LocalKernelSpecification {\n    fn eq(&self, other: &Self) -> bool {\n        self.name == other.name && self.path == other.path\n    }\n}\n\nimpl Eq for LocalKernelSpecification {}\n\nimpl LocalKernelSpecification {\n    #[must_use]\n    fn command(&self, connection_path: &PathBuf) -> Result<std::process::Command> {\n        let argv = &self.kernelspec.argv;\n\n        anyhow::ensure!(!argv.is_empty(), \"Empty argv in kernelspec {}\", self.name);\n        anyhow::ensure!(argv.len() >= 2, \"Invalid argv in kernelspec {}\", self.name);\n        anyhow::ensure!(\n            argv.iter().any(|arg| arg == \"{connection_file}\"),\n            \"Missing 'connection_file' in argv in kernelspec {}\",\n            self.name\n        );\n\n        let mut cmd = util::command::new_std_command(&argv[0]);\n\n        for arg in &argv[1..] {\n            if arg == \"{connection_file}\" {\n                cmd.arg(connection_path);\n            } else {\n                cmd.arg(arg);\n            }\n        }\n\n        if let Some(env) = &self.kernelspec.env {\n            log::info!(","sourceCodeStart":30,"sourceCodeEnd":66,"githubUrl":"https://github.com/zed-industries/zed/blob/f4178619acd0d47ea1f76a2025c42962c6d6638c/crates/repl/src/kernels/native_kernel.rs#L30-L66","documentation":"Guard in LocalKernelSpecification::command(): argv must contain at least two entries (a program plus at least one argument, typically the {connection_file} placeholder). A one-element argv cannot start a Jupyter kernel, so Command construction fails with the kernelspec name named.","triggerScenarios":"Thrown at crates/repl/src/kernels/native_kernel.rs:48 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Reinstall or fix the kernel so argv includes the full launch arguments"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"f4178619acd0d47ea1f76a2025c42962c6d6638c","analyzedAt":"2026-08-20T19:29:52.058Z","contentChangedAt":"2026-08-20T19:29:52.058Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}