{"record":{"id":"1d44106e39e2128d","repo":"openai/codex","slug":"config-file-has-no-parent-directory-1d4410","errorCode":null,"errorMessage":"Config file {} has no parent directory","messagePattern":"Config file (.+?) has no parent directory","errorType":"exception","errorClass":"io::Error","httpStatus":null,"severity":"error","filePath":"codex-rs/config/src/loader/mod.rs","lineNumber":587,"sourceCode":"    let loaded = load_config_toml_for_required_layer_raw(fs, toml_file, strict_config).await?;\n    let toml_value = resolve_relative_paths_in_config_toml(loaded.toml, loaded.base_dir.as_path())?;\n\n    Ok(create_entry(toml_value))\n}\n\n#[derive(Debug, Clone)]\nstruct LoadedTomlFile {\n    toml: TomlValue,\n    base_dir: AbsolutePathBuf,\n}\n\nasync fn load_config_toml_for_required_layer_raw(\n    fs: &dyn ExecutorFileSystem,\n    toml_file: &AbsolutePathBuf,\n    strict_config: bool,\n) -> io::Result<LoadedTomlFile> {\n    let config_parent = toml_file.as_path().parent().ok_or_else(|| {\n        io::Error::new(\n            io::ErrorKind::InvalidData,\n            format!(\n                \"Config file {} has no parent directory\",\n                toml_file.as_path().display()\n            ),\n        )\n    })?;\n    let base_dir = AbsolutePathBuf::from_absolute_path(config_parent)?;\n    let toml_file_uri = PathUri::from_abs_path(toml_file);\n    let toml_value = match fs\n        .read_file_text(&toml_file_uri, Default::default(), /*sandbox*/ None)\n        .await\n    {\n        Ok(contents) => {\n            let config: TomlValue = toml::from_str(&contents).map_err(|err| {\n                let config_error =\n                    config_error_from_toml(toml_file.as_path(), &contents, err.clone());\n                io_error_from_config_error(io::ErrorKind::InvalidData, config_error, Some(err))","sourceCodeStart":569,"sourceCodeEnd":605,"githubUrl":"https://github.com/openai/codex/blob/339751715c64496cb86246bfb3935f40e309dd3d/codex-rs/config/src/loader/mod.rs#L569-L605","documentation":"Error \"Config file {} has no parent directory\" thrown in openai/codex.","triggerScenarios":"Thrown at codex-rs/config/src/loader/mod.rs:587 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Ensure the config file path has a valid parent directory."],"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"}