diff --git a/codex-rs/core/src/config_loader/layer_io.rs b/codex-rs/core/src/config_loader/layer_io.rs
index 1e9052f21..58ccab194 100644
--- a/codex-rs/core/src/config_loader/layer_io.rs
+++ b/codex-rs/core/src/config_loader/layer_io.rs
@@ -1,4 +1,5 @@
use super::LoaderOverrides;
+#[cfg(target_os = "macos")]
use super::macos::load_managed_admin_config_layer;
use super::overrides::default_empty_table;
use crate::config::CONFIG_TOML_FILE;
@@ -45,7 +46,7 @@ pub(super) async fn load_config_layers_internal(
load_managed_admin_config_layer(managed_preferences_base64.as_deref()).await?;
#[cfg(not(target_os = "macos"))]
- let managed_preferences = load_managed_admin_config_layer(None).await?;
+ let managed_preferences = None;
Ok(LoadedConfigLayers {
base: user_config.unwrap_or_else(default_empty_table),
diff --git a/codex-rs/core/src/config_loader/macos.rs b/codex-rs/core/src/config_loader/macos.rs
index 036619e06..4a80267b9 100644
--- a/codex-rs/core/src/config_loader/macos.rs
+++ b/codex-rs/core/src/config_loader/macos.rs
@@ -1,118 +1,100 @@
+use base64::Engine;
+use base64::prelude::BASE64_STANDARD;
+use core_foundation::base::TCFType;
+use core_foundation::string::CFString;
+use core_foundation::string::CFStringRef;
+use std::ffi::c_void;
use std::io;
+use tokio::task;
use toml::Value as TomlValue;
-#[cfg(target_os = "macos")]
-mod native {
- use super::*;
- use base64::Engine;
- use base64::prelude::BASE64_STANDARD;
- use core_foundation::base::TCFType;
- use core_foundation::string::CFString;
- use core_foundation::string::CFStringRef;
- use std::ffi::c_void;
- use tokio::task;
+const MANAGED_PREFERENCES_APPLICATION_ID: &str = "com.openai.codex";
+const MANAGED_PREFERENCES_CONFIG_KEY: &str = "config_toml_base64";
- pub(crate) async fn load_managed_admin_config_layer(
- override_base64: Option<&str>,
- ) -> io::Result