diff --git a/codex-rs/core/src/guardian/review_session.rs b/codex-rs/core/src/guardian/review_session.rs index cd09e72191..01f1d942b9 100644 --- a/codex-rs/core/src/guardian/review_session.rs +++ b/codex-rs/core/src/guardian/review_session.rs @@ -956,6 +956,7 @@ async fn run_review_on_session( && crate::session::context_window::context_window_token_status_for_model( review_session.session.as_ref(), ¶ms.spawn_config, + params.parent_context.turn(), &model_info, ) .await diff --git a/codex-rs/core/src/session/context_window.rs b/codex-rs/core/src/session/context_window.rs index 743c4677ba..18ddccd043 100644 --- a/codex-rs/core/src/session/context_window.rs +++ b/codex-rs/core/src/session/context_window.rs @@ -37,10 +37,15 @@ pub(crate) async fn context_window_token_status( pub(crate) async fn context_window_token_status_for_model( sess: &Session, config: &Config, + turn_context: &TurnContext, model_info: &ModelInfo, ) -> ContextWindowTokenStatus { let mut config = config.clone(); - super::token_budget::apply_model_defaults(&mut config, model_info); + config.token_budget = super::token_budget::resolve_token_budget( + turn_context.configured_token_budget.as_ref(), + turn_context.use_model_token_budget_defaults, + model_info, + ); context_window_token_status_with_config(sess, &config, model_info).await }