{"record":{"id":"318acae3e9818fea","repo":"zed-industries/zed","slug":"empty-argv-in-kernelspec","errorCode":null,"errorMessage":"Empty argv in kernelspec {}","messagePattern":"Empty argv in kernelspec (.+?)","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/repl/src/kernels/native_kernel.rs","lineNumber":47,"sourceCode":"    pub name: String,\n    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 {","sourceCodeStart":29,"sourceCodeEnd":65,"githubUrl":"https://github.com/zed-industries/zed/blob/f4178619acd0d47ea1f76a2025c42962c6d6638c/crates/repl/src/kernels/native_kernel.rs#L29-L65","documentation":"Validation guard in LocalKernelSpecification::command(): the Jupyter kernelspec's argv array is empty, so there is no executable to launch and a kernel process Command cannot be built. Fires when a kernelspec.json lacks the required argv field; the kernelspec name is included for identification.","triggerScenarios":"Thrown at crates/repl/src/kernels/native_kernel.rs:47 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Fix or reinstall the kernel so its kernelspec includes a valid argv","Point Zed at a different kernelspec"],"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"}