From b0401b06d0a8600de8e101c611d53d5abc42f84a Mon Sep 17 00:00:00 2001 From: ciregenz Date: Mon, 15 Jun 2026 14:46:48 -0700 Subject: [PATCH] [eric] openai: route the thinking-slider effort param to gpt/codex (not just claude) --- backend/apps/agents/agent_manager.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/backend/apps/agents/agent_manager.py b/backend/apps/agents/agent_manager.py index cef90c76..a48e8a2a 100644 --- a/backend/apps/agents/agent_manager.py +++ b/backend/apps/agents/agent_manager.py @@ -1824,6 +1824,15 @@ class AgentManager: options_kwargs["thinking"] = {"type": "disabled"} elif level in ("low", "medium", "high"): options_kwargs["effort"] = level + elif api_type in ("openai", "codex"): + # GPT-5 family + Codex take reasoning_effort; 9Router carries + # the Anthropic-shaped `effort` across to it, so the slider + # works for OpenAI too, not just Claude. Every OpenAI/Codex + # model we expose is reasoning-capable (registry has no + # non-reasoning ones), so no per-model gate. No "disabled" + # form on these, so "off" just omits the param. + if level in ("low", "medium", "high"): + options_kwargs["effort"] = level except Exception as e: logger.debug(f"thinking_level param injection skipped: {e}")