{"record":{"id":"fdc00310d2e697c1","repo":"zellij-org/zellij","slug":"run-missing-run-type","errorCode":null,"errorMessage":"Run missing run_type","messagePattern":"Run missing run_type","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"zellij-utils/src/ipc/protobuf_conversion.rs","lineNumber":4528,"sourceCode":"                    cwd: f.cwd.map(std::path::PathBuf::from),\n                },\n            )),\n        }\n    }\n}\n\n// Run reverse conversion\nimpl TryFrom<crate::client_server_contract::client_server_contract::Run>\n    for crate::input::layout::Run\n{\n    type Error = anyhow::Error;\n\n    fn try_from(run: crate::client_server_contract::client_server_contract::Run) -> Result<Self> {\n        use crate::client_server_contract::client_server_contract::run::RunType;\n\n        let run_type = run\n            .run_type\n            .ok_or_else(|| anyhow!(\"Run missing run_type\"))?;\n        match run_type {\n            RunType::Command(cmd) => Ok(crate::input::layout::Run::Command(\n                crate::input::command::RunCommand {\n                    command: std::path::PathBuf::from(cmd.command),\n                    args: cmd.args,\n                    cwd: cmd.cwd.map(std::path::PathBuf::from),\n                    hold_on_close: cmd.hold_on_close,\n                    hold_on_start: cmd.hold_on_start,\n                    originating_plugin: cmd\n                        .originating_plugin\n                        .map(|op| op.try_into())\n                        .transpose()?,\n                    use_terminal_title: cmd.use_terminal_title,\n                },\n            )),\n            RunType::EditFile(edit) => Ok(crate::input::layout::Run::EditFile(\n                std::path::PathBuf::from(edit.file_path),\n                edit.line_number.map(|n| n as usize),","sourceCodeStart":4510,"sourceCodeEnd":4546,"githubUrl":"https://github.com/zellij-org/zellij/blob/e839bfffa586992364309a685b2c71f3b23c247e/zellij-utils/src/ipc/protobuf_conversion.rs#L4510-L4546","documentation":"Error \"Run missing run_type\" thrown in zellij-org/zellij.","triggerScenarios":"Occurs when a protobuf message received over IPC omits the required field; deserialization fails instead of using a default.","commonSituations":"Occurs when a client or plugin sends an incompletely populated message, often from a version mismatch or hand-crafted payload.","solutions":["Include the required 'run_type' field in the protobuf message before sending it.","Verify the sender populates all mandatory fields; add a presence check before conversion."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"e839bfffa586992364309a685b2c71f3b23c247e","analyzedAt":"2026-08-19T07:42:58.758Z","contentChangedAt":"2026-08-19T07:42:58.758Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}