diff --git a/codex-rs/core/src/auth.rs b/codex-rs/core/src/auth.rs index a2158310..5ba6fdf7 100644 --- a/codex-rs/core/src/auth.rs +++ b/codex-rs/core/src/auth.rs @@ -267,6 +267,9 @@ pub fn try_read_auth_json(auth_file: &Path) -> std::io::Result { } pub fn write_auth_json(auth_file: &Path, auth_dot_json: &AuthDotJson) -> std::io::Result<()> { + if let Some(parent) = auth_file.parent() { + std::fs::create_dir_all(parent)?; + } let json_data = serde_json::to_string_pretty(auth_dot_json)?; let mut options = OpenOptions::new(); options.truncate(true).write(true).create(true);