{"record":{"id":"88ac6b60b0956515","repo":"openai/codex","slug":"codex-home-points-to-val-but-that-path-is-not","errorCode":null,"errorMessage":"CODEX_HOME points to {val:?}, but that path is not a directory","messagePattern":"CODEX_HOME points to (.+?), but that path is not a directory","errorType":"exception","errorClass":"std::io::Error","httpStatus":null,"severity":"error","filePath":"codex-rs/utils/home-dir/src/lib.rs","lineNumber":38,"sourceCode":"fn find_codex_home_from_env(codex_home_env: Option<&str>) -> std::io::Result<AbsolutePathBuf> {\n    // Honor the `CODEX_HOME` environment variable when it is set to allow users\n    // (and tests) to override the default location.\n    match codex_home_env {\n        Some(val) => {\n            let path = PathBuf::from(val);\n            let metadata = std::fs::metadata(&path).map_err(|err| match err.kind() {\n                std::io::ErrorKind::NotFound => std::io::Error::new(\n                    std::io::ErrorKind::NotFound,\n                    format!(\"CODEX_HOME points to {val:?}, but that path does not exist\"),\n                ),\n                _ => std::io::Error::new(\n                    err.kind(),\n                    format!(\"failed to read CODEX_HOME {val:?}: {err}\"),\n                ),\n            })?;\n\n            if !metadata.is_dir() {\n                Err(std::io::Error::new(\n                    std::io::ErrorKind::InvalidInput,\n                    format!(\"CODEX_HOME points to {val:?}, but that path is not a directory\"),\n                ))\n            } else {\n                let canonical = path.canonicalize().map_err(|err| {\n                    std::io::Error::new(\n                        err.kind(),\n                        format!(\"failed to canonicalize CODEX_HOME {val:?}: {err}\"),\n                    )\n                })?;\n                AbsolutePathBuf::from_absolute_path(canonical)\n            }\n        }\n        None => {\n            let mut p = home_dir().ok_or_else(|| {\n                std::io::Error::new(\n                    std::io::ErrorKind::NotFound,\n                    \"Could not find home directory\",","sourceCodeStart":20,"sourceCodeEnd":56,"githubUrl":"https://github.com/openai/codex/blob/339751715c64496cb86246bfb3935f40e309dd3d/codex-rs/utils/home-dir/src/lib.rs#L20-L56","documentation":"Error \"CODEX_HOME points to {val:?}, but that path is not a directory\" thrown in openai/codex.","triggerScenarios":"Thrown at codex-rs/utils/home-dir/src/lib.rs:38 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"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"}