{"record":{"id":"845892ea870b64b8","repo":"openai/codex","slug":"codex-home-points-to-val-but-that-path-does-n","errorCode":null,"errorMessage":"CODEX_HOME points to {val:?}, but that path does not exist","messagePattern":"CODEX_HOME points to (.+?), but that path does not exist","errorType":"exception","errorClass":"std::io::Error","httpStatus":null,"severity":"error","filePath":"codex-rs/utils/home-dir/src/lib.rs","lineNumber":27,"sourceCode":"/// - If `CODEX_HOME` is set, the value must exist and be a directory. The\n///   value will be canonicalized and this function will Err otherwise.\n/// - If `CODEX_HOME` is not set, this function does not verify that the\n///   directory exists.\npub fn find_codex_home() -> std::io::Result<AbsolutePathBuf> {\n    let codex_home_env = std::env::var(\"CODEX_HOME\")\n        .ok()\n        .filter(|val| !val.is_empty());\n    find_codex_home_from_env(codex_home_env.as_deref())\n}\n\nfn 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(),","sourceCodeStart":9,"sourceCodeEnd":45,"githubUrl":"https://github.com/openai/codex/blob/339751715c64496cb86246bfb3935f40e309dd3d/codex-rs/utils/home-dir/src/lib.rs#L9-L45","documentation":"Error \"CODEX_HOME points to {val:?}, but that path does not exist\" thrown in openai/codex.","triggerScenarios":"Thrown at codex-rs/utils/home-dir/src/lib.rs:27 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"}