diff --git a/codex-rs/core/src/codex.rs b/codex-rs/core/src/codex.rs index c9682d1b0b..655e2d1e16 100644 --- a/codex-rs/core/src/codex.rs +++ b/codex-rs/core/src/codex.rs @@ -249,17 +249,20 @@ impl Codex { let config = Arc::new(config); let mut remote_models_error: Option = None; + let is_up_to_date = compute_is_up_to_date(&config.codex_home); + if config.features.enabled(Feature::RemoteModels) && let Err(err) = models_manager.refresh_available_models(&config).await { error!("failed to refresh available models: {err:?}"); - remote_models_error = Some(EventMsg::Error(ErrorEvent { - message: "failed to refresh available models.".to_string(), - codex_error_info: None, - })); + if !is_up_to_date { + remote_models_error = Some(EventMsg::Error(ErrorEvent { + message: "failed to refresh available models.".to_string(), + codex_error_info: None, + })); + } } let model = models_manager.get_model(&config.model, &config).await; - let is_up_to_date = compute_is_up_to_date(&config.codex_home); let session_configuration = SessionConfiguration { provider: config.model_provider.clone(), model: model.clone(),