Files
crewAI/lib/crewai/tests
alex-clawd 4625305a30 fix(openai): force reasoning_effort=none even when the caller sent none at all
The learned fast path only rewrote `reasoning_effort` when it was already present
and not "none", so a learned model with the parameter absent kept sending nothing
-- which these models reject exactly like "high", because they apply a server-side
default. The cache recorded the conflict but every call still paid the 400.

Reproduced before fixing:

    LLM(model='openai/gpt-5.6-sol')          # no reasoning_effort anywhere
    1st call  -> 400, recovered, model learned
    2nd call  -> reasoning_effort ABSENT     # 400 again, forever

Now "none" is forced whenever the model is known and the value isn't already
"none". Same call after the fix sends reasoning_effort=none.

`_retry_params_without_reasoning_effort` already handled the absent case correctly;
only the fast path was wrong.

tests/llms/openai -> 160 passed, 1 skipped. Ruff + mypy clean.
2026-07-26 03:30:33 -07:00
..
2025-10-20 14:10:19 -07:00
2025-12-04 16:53:19 -05:00
2026-06-14 04:19:48 -03:00
2026-06-18 14:14:54 -03:00
2026-06-14 04:19:48 -03:00
2026-02-13 21:34:37 -03:00
2025-10-20 14:10:19 -07:00
2025-10-20 14:10:19 -07:00
2026-06-14 04:19:48 -03:00
2025-10-20 14:10:19 -07:00