From 22b7437b6957e683b5179290adbbb18a9b101389 Mon Sep 17 00:00:00 2001 From: Angie Jones Date: Mon, 22 Jun 2026 02:56:27 -0500 Subject: [PATCH] fix: do not pass temperature to ChatGPT Codex provider (#9931) --- crates/goose/src/providers/chatgpt_codex.rs | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/crates/goose/src/providers/chatgpt_codex.rs b/crates/goose/src/providers/chatgpt_codex.rs index 7a78368ac..cd414a8fe 100644 --- a/crates/goose/src/providers/chatgpt_codex.rs +++ b/crates/goose/src/providers/chatgpt_codex.rs @@ -295,10 +295,6 @@ fn create_codex_request( payload_obj.insert("parallel_tool_calls".to_string(), json!(true)); } - if let Some(temp) = model_config.temperature { - payload_obj.insert("temperature".to_string(), json!(temp)); - } - if let Some(reasoning_effort) = reasoning_effort { payload_obj.insert( "reasoning".to_string(), @@ -1248,6 +1244,17 @@ mod tests { assert!(payload.get("reasoning_effort").is_none()); } + // ChatGPT Codex does not support temperature and will return an error + #[test] + fn test_create_codex_request_omits_temperature() { + let config = ModelConfig::new("gpt-5.5") + .unwrap() + .with_temperature(Some(0.2)); + + let payload = create_codex_request(&config, "sys", &[], &[]).unwrap(); + assert!(payload.get("temperature").is_none()); + } + #[test_case( JwtClaims { chatgpt_account_id: Some("account-1".to_string()),