diff --git a/codex-rs/utils/absolute-path/src/lib.rs b/codex-rs/utils/absolute-path/src/lib.rs index 0de0f4e023..3ee2c94afe 100644 --- a/codex-rs/utils/absolute-path/src/lib.rs +++ b/codex-rs/utils/absolute-path/src/lib.rs @@ -63,7 +63,12 @@ impl AbsolutePathBuf { /// Construct an absolute path from `path`, resolving relative paths against /// the process current working directory. pub fn relative_to_current_dir>(path: P) -> std::io::Result { - Self::resolve_path_against_base(path, std::env::current_dir()?) + let path = path.as_ref(); + if path.is_absolute() { + Self::from_absolute_path(path) + } else { + Self::resolve_path_against_base(path, std::env::current_dir()?) + } } pub fn join>(&self, path: P) -> std::io::Result {