diff --git a/crates/goose-provider-types/src/formats/openai.rs b/crates/goose-provider-types/src/formats/openai.rs index 7233a96e4..0c657f848 100644 --- a/crates/goose-provider-types/src/formats/openai.rs +++ b/crates/goose-provider-types/src/formats/openai.rs @@ -887,6 +887,12 @@ pub fn get_usage(usage: &Value) -> Usage { let cache_write_input_tokens = usage .get("cache_creation_input_tokens") .and_then(|v| v.as_i64()) + .or_else(|| { + usage + .get("prompt_tokens_details") + .and_then(|d| d.get("cache_write_tokens")) + .and_then(|v| v.as_i64()) + }) .map(|v| v as i32); let total_tokens = usage