{"record":{"id":"9f9aab86c517c63c","repo":"openai/codex","slug":"model-catalog-json-path-must-contain-at-least","errorCode":null,"errorMessage":"model_catalog_json path `{}` must contain at least one model","messagePattern":"model_catalog_json path `(.+?)` must contain at least one model","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"codex-rs/core/src/config/mod.rs","lineNumber":2024,"sourceCode":"    feature_requirements: Option<&Sourced<FeatureRequirementsToml>>,\n) -> std::io::Result<()> {\n    managed_features::validate_explicit_feature_settings_in_config_toml(cfg, feature_requirements)?;\n    managed_features::validate_feature_requirements_in_config_toml(cfg, feature_requirements)\n}\n\nfn load_catalog_json(path: &AbsolutePathBuf) -> std::io::Result<ModelsResponse> {\n    let file_contents = std::fs::read_to_string(path)?;\n    let catalog = serde_json::from_str::<ModelsResponse>(&file_contents).map_err(|err| {\n        std::io::Error::new(\n            ErrorKind::InvalidData,\n            format!(\n                \"failed to parse model_catalog_json path `{}` as JSON: {err}\",\n                path.display()\n            ),\n        )\n    })?;\n    if catalog.models.is_empty() {\n        return Err(std::io::Error::new(\n            ErrorKind::InvalidData,\n            format!(\n                \"model_catalog_json path `{}` must contain at least one model\",\n                path.display()\n            ),\n        ));\n    }\n    Ok(catalog)\n}\n\nfn load_model_catalog(\n    model_catalog_json: Option<AbsolutePathBuf>,\n) -> std::io::Result<Option<ModelsResponse>> {\n    model_catalog_json\n        .map(|path| load_catalog_json(&path))\n        .transpose()\n}\n","sourceCodeStart":2006,"sourceCodeEnd":2042,"githubUrl":"https://github.com/openai/codex/blob/339751715c64496cb86246bfb3935f40e309dd3d/codex-rs/core/src/config/mod.rs#L2006-L2042","documentation":"Error \"model_catalog_json path `{}` must contain at least one model\" thrown in openai/codex.","triggerScenarios":"Thrown at codex-rs/core/src/config/mod.rs:2024 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Include at least one model entry in model_catalog_json."],"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"}