diff --git a/codex-rs/config/src/key_aliases.rs b/codex-rs/config/src/key_aliases.rs index 3d0bf1ed7d..d1d02a96e6 100644 --- a/codex-rs/config/src/key_aliases.rs +++ b/codex-rs/config/src/key_aliases.rs @@ -61,6 +61,16 @@ pub(crate) fn normalize_key_aliases(value: &TomlValue) -> TomlValue { } fn normalize_key_aliases_at_path(value: &TomlValue, path: &[String]) -> TomlValue { + // Alias normalization cannot affect subtrees outside the registered legacy paths. + if !CONFIG_KEY_ALIASES.iter().any(|alias| { + alias + .legacy + .get(..path.len()) + .is_some_and(|prefix| path.iter().map(String::as_str).eq(prefix.iter().copied())) + }) { + return value.clone(); + } + match value { TomlValue::Table(table) => { let mut normalized = TomlMap::new();