[codex-cli] eagerly refresh ChatGPT access token on startup [ci changed_files]

This commit is contained in:
Cooper Gamble
2026-05-21 23:00:30 +00:00
parent 16d85e2708
commit d17c381d3f
4 changed files with 91 additions and 5 deletions
+12 -3
View File
@@ -51,7 +51,7 @@ use codex_app_server_protocol::TurnStartParams;
use codex_app_server_protocol::TurnStartResponse;
use codex_app_server_protocol::TurnStartedNotification;
use codex_arg0::Arg0DispatchPaths;
use codex_cloud_requirements::cloud_requirements_loader_for_storage;
use codex_cloud_requirements::cloud_requirements_loader;
use codex_config::ConfigLoadError;
use codex_config::ConfigLoadOptions;
use codex_config::LoaderOverrides;
@@ -71,6 +71,7 @@ use codex_core::path_utils;
use codex_feedback::CodexFeedback;
use codex_git_utils::get_git_repo_root;
use codex_login::AuthConfig;
use codex_login::AuthManager;
use codex_login::default_client::set_default_client_residency_requirement;
use codex_login::default_client::set_default_originator;
use codex_login::enforce_login_restrictions;
@@ -363,13 +364,21 @@ pub async fn run_main(cli: Cli, arg0_paths: Arg0DispatchPaths) -> anyhow::Result
.clone()
.unwrap_or_else(|| "https://chatgpt.com/backend-api/".to_string());
// TODO(gt): Make cloud requirements failures blocking once we can fail-closed.
let cloud_requirements = cloud_requirements_loader_for_storage(
let cloud_auth_manager = AuthManager::shared(
codex_home.to_path_buf(),
/*enable_codex_api_key_env*/ false,
config_toml.cli_auth_credentials_store.unwrap_or_default(),
chatgpt_base_url,
Some(chatgpt_base_url.clone()),
)
.await;
if let Err(err) = cloud_auth_manager.refresh_managed_chatgpt_token().await {
warn!("failed to proactively refresh ChatGPT access token during CLI startup: {err}");
}
let cloud_requirements = cloud_requirements_loader(
cloud_auth_manager,
chatgpt_base_url,
codex_home.to_path_buf(),
);
let run_cli_overrides = cli_kv_overrides.clone();
let run_loader_overrides = loader_overrides.clone();
let run_cloud_requirements = cloud_requirements.clone();