{"record":{"id":"a655eb814e7abb18","repo":"openai/codex","slug":"filesystem-path-path-must-be-absolute-use","errorCode":null,"errorMessage":"filesystem path `{path}` must be absolute, use `~/...`, or start with `:","messagePattern":"filesystem path `(.+?)` must be absolute, use `~/\\.\\.\\.`, or start with `:","errorType":"validation","errorClass":"io::Error","httpStatus":null,"severity":"error","filePath":"codex-rs/core/src/config/permissions.rs","lineNumber":805,"sourceCode":"        \":slash_tmp\" => Some(FileSystemSpecialPath::SlashTmp),\n        _ if path.starts_with(':') => {\n            Some(FileSystemSpecialPath::unknown(path, /*subpath*/ None))\n        }\n        _ => None,\n    }\n}\n\nfn parse_absolute_path(path: &str) -> io::Result<AbsolutePathBuf> {\n    parse_absolute_path_for_platform(path, cfg!(windows))\n}\n\nfn parse_absolute_path_for_platform(path: &str, is_windows: bool) -> io::Result<AbsolutePathBuf> {\n    let path_ref = normalize_absolute_path_for_platform(path, is_windows);\n    if !is_absolute_path_for_platform(path, path_ref.as_ref(), is_windows)\n        && path != \"~\"\n        && !path.starts_with(\"~/\")\n    {\n        return Err(io::Error::new(\n            io::ErrorKind::InvalidInput,\n            format!(\"filesystem path `{path}` must be absolute, use `~/...`, or start with `:`\"),\n        ));\n    }\n    AbsolutePathBuf::from_absolute_path(path_ref.as_ref())\n}\n\nfn is_absolute_path_for_platform(path: &str, normalized_path: &Path, is_windows: bool) -> bool {\n    if is_windows {\n        is_windows_absolute_path(path)\n            || is_windows_absolute_path(&normalized_path.to_string_lossy())\n    } else {\n        normalized_path.is_absolute()\n    }\n}\n\nfn normalize_absolute_path_for_platform(path: &str, is_windows: bool) -> Cow<'_, Path> {\n    if !is_windows {","sourceCodeStart":787,"sourceCodeEnd":823,"githubUrl":"https://github.com/openai/codex/blob/339751715c64496cb86246bfb3935f40e309dd3d/codex-rs/core/src/config/permissions.rs#L787-L823","documentation":"Error \"filesystem path `{path}` must be absolute, use `~/...`, or start with `:\" thrown in openai/codex.","triggerScenarios":"Thrown at codex-rs/core/src/config/permissions.rs:805 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Use an absolute path, a `~/...` path, or a `:`-prefixed path for `{path}`."],"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"}