From cfc05384634de1249d4bf2295e0d5a8ed298c999 Mon Sep 17 00:00:00 2001 From: filip <44206832+filipkujawa@users.noreply.github.com> Date: Fri, 28 Aug 2026 16:12:58 +0000 Subject: [PATCH] fix(providers): parse OpenRouter nested cache_write_tokens in usage (#11472) --- crates/goose-provider-types/src/formats/openai.rs | 6 ++++++ 1 file changed, 6 insertions(+) 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