diff --git a/codex-rs/core/src/conversation_history.rs b/codex-rs/core/src/conversation_history.rs index 8cafbcb1e0..4ddb51957d 100644 --- a/codex-rs/core/src/conversation_history.rs +++ b/codex-rs/core/src/conversation_history.rs @@ -146,7 +146,7 @@ impl ConversationHistory { } } - let prior_total = info.total_token_usage.total_tokens; + let prior_total = info.last_token_usage.total_tokens; let combined_tokens = prior_total.saturating_add(input_tokens); let threshold = context_window * 95 / 100; if combined_tokens > threshold { diff --git a/codex-rs/protocol/src/protocol.rs b/codex-rs/protocol/src/protocol.rs index 105f028049..add8b7d6aa 100644 --- a/codex-rs/protocol/src/protocol.rs +++ b/codex-rs/protocol/src/protocol.rs @@ -577,7 +577,9 @@ pub struct TokenUsage { #[derive(Debug, Clone, Deserialize, Serialize, JsonSchema, TS)] pub struct TokenUsageInfo { + /// The total token usage for the session. accumulated from all turns. pub total_token_usage: TokenUsage, + /// The token usage for the last turn. Received from the API. pub last_token_usage: TokenUsage, #[ts(type = "number | null")] pub model_context_window: Option,