{"record":{"id":"adc16ccbea3395f6","repo":"zellij-org/zellij","slug":"invalid-custom-exit-status","errorCode":null,"errorMessage":"Invalid custom exit status: {}","messagePattern":"Invalid custom exit status: (.+?)","errorType":"exception","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"zellij-utils/src/ipc/protobuf_conversion.rs","lineNumber":617,"sourceCode":"            Some(server_to_client_msg::Message::UnblockInputThread(_)) => {\n                Ok(ServerToClientMsg::UnblockInputThread)\n            },\n            Some(server_to_client_msg::Message::Exit(exit)) => {\n                let proto_exit_reason = ProtoExitReason::try_from(exit.exit_reason)\n                    .ok()\n                    .ok_or_else(|| anyhow!(\"Invalid exit_reason\"))?;\n\n                let exit_reason = match proto_exit_reason {\n                    ProtoExitReason::Error => {\n                        let error_msg =\n                            exit.payload.unwrap_or_else(|| \"Protobuf error\".to_string());\n                        ExitReason::Error(error_msg)\n                    },\n                    ProtoExitReason::CustomExitStatus => {\n                        let status_str = exit.payload.unwrap_or_else(|| \"0\".to_string());\n                        let status = status_str\n                            .parse::<i32>()\n                            .map_err(|_| anyhow!(\"Invalid custom exit status: {}\", status_str))?;\n                        ExitReason::CustomExitStatus(status)\n                    },\n                    other => other.try_into()?,\n                };\n\n                Ok(ServerToClientMsg::Exit { exit_reason })\n            },\n            Some(server_to_client_msg::Message::Connected(_)) => Ok(ServerToClientMsg::Connected),\n            Some(server_to_client_msg::Message::Log(log)) => {\n                Ok(ServerToClientMsg::Log { lines: log.lines })\n            },\n            Some(server_to_client_msg::Message::LogError(log_error)) => {\n                Ok(ServerToClientMsg::LogError {\n                    lines: log_error.lines,\n                })\n            },\n            Some(server_to_client_msg::Message::SwitchSession(switch)) => {\n                Ok(ServerToClientMsg::SwitchSession {","sourceCodeStart":599,"sourceCodeEnd":635,"githubUrl":"https://github.com/zellij-org/zellij/blob/e839bfffa586992364309a685b2c71f3b23c247e/zellij-utils/src/ipc/protobuf_conversion.rs#L599-L635","documentation":"Error \"Invalid custom exit status: {}\" thrown in zellij-org/zellij.","triggerScenarios":"Occurs when a protobuf enum value received over IPC has no matching variant; conversion rejects the unknown value.","commonSituations":"Typical of version skew between client and server, or a malformed/corrupted IPC message.","solutions":["Validate the value against the allowed enum range before constructing the message.","Ensure client and server use matching protobuf definitions; regenerate bindings if versions differ."],"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-14T00:17:10.932Z"}