openai/codex · error · std::io::Error
failed to read CODEX_HOME {val:?}: {err}
Error message
failed to read CODEX_HOME {val:?}: {err} What it means
Error "failed to read CODEX_HOME {val:?}: {err}" thrown in openai/codex.
Source
Thrown at codex-rs/utils/home-dir/src/lib.rs:31
pub fn find_codex_home() -> std::io::Result<AbsolutePathBuf> {
let codex_home_env = std::env::var("CODEX_HOME")
.ok()
.filter(|val| !val.is_empty());
find_codex_home_from_env(codex_home_env.as_deref())
}
fn find_codex_home_from_env(codex_home_env: Option<&str>) -> std::io::Result<AbsolutePathBuf> {
// Honor the `CODEX_HOME` environment variable when it is set to allow users
// (and tests) to override the default location.
match codex_home_env {
Some(val) => {
let path = PathBuf::from(val);
let metadata = std::fs::metadata(&path).map_err(|err| match err.kind() {
std::io::ErrorKind::NotFound => std::io::Error::new(
std::io::ErrorKind::NotFound,
format!("CODEX_HOME points to {val:?}, but that path does not exist"),
),
_ => std::io::Error::new(
err.kind(),
format!("failed to read CODEX_HOME {val:?}: {err}"),
),
})?;
if !metadata.is_dir() {
Err(std::io::Error::new(
std::io::ErrorKind::InvalidInput,
format!("CODEX_HOME points to {val:?}, but that path is not a directory"),
))
} else {
let canonical = path.canonicalize().map_err(|err| {
std::io::Error::new(
err.kind(),
format!("failed to canonicalize CODEX_HOME {val:?}: {err}"),
)
})?;
AbsolutePathBuf::from_absolute_path(canonical)View on GitHub (pinned to 339751715c)
When it happens
Trigger: Thrown at codex-rs/utils/home-dir/src/lib.rs:31 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of openai/codex@339751715c (2026-08-25).
Data as JSON: /api/errors/624bd3c388e7cdbf.
Report an issue: GitHub.