From f4e3d06f9e5a93910d823f044074e07b91ca9cb0 Mon Sep 17 00:00:00 2001 From: Jack Amadeo Date: Tue, 15 Jul 2025 16:53:41 -0400 Subject: [PATCH] fix: Set include_usage=true for OpenAI streaming (#3441) --- crates/goose/src/providers/openai.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/crates/goose/src/providers/openai.rs b/crates/goose/src/providers/openai.rs index e4215ea8..767a8f47 100644 --- a/crates/goose/src/providers/openai.rs +++ b/crates/goose/src/providers/openai.rs @@ -3,7 +3,7 @@ use async_stream::try_stream; use async_trait::async_trait; use futures::TryStreamExt; use reqwest::{Client, Response}; -use serde_json::Value; +use serde_json::{json, Value}; use std::collections::HashMap; use std::io; use std::time::Duration; @@ -254,6 +254,9 @@ impl Provider for OpenAiProvider { let mut payload = create_request(&self.model, system, messages, tools, &ImageFormat::OpenAi)?; payload["stream"] = serde_json::Value::Bool(true); + payload["stream_options"] = json!({ + "include_usage": true, + }); let response = handle_status_openai_compat(self.post(payload.clone()).await?).await?;