Add "None" option to existing Reasoning Effort dropdown on OpenAI Chat Model sub-node (for GPT-5.4-mini and other supported models)

It would help if there was a node for: OpenAI Chat Model (sub-node used with AI Agent)

The OpenAI Chat Model sub-node already has a “Reasoning Effort” parameter, but it currently only offers Low, Medium, and High. Some reasoning models (e.g. GPT-5.4-mini and others that support it) also accept a “none”/“minimal” value for this parameter via the API, which skips or minimizes internal reasoning entirely. This value is missing from the dropdown, so users are stuck selecting “Low” even when the connected model supports fully disabling reasoning.

My use case:

I use the OpenAI Chat Model sub-node as the language model for AI Agents that handle simple, low-complexity tasks (routing, quick classification, short tool calls, formatting). These steps don’t need any reasoning at all. Being forced to use “Low” instead of “None” adds unnecessary latency, cost to every one of these calls, and even hallucinations to specific simple tasks. Adding “None” as a selectable value in the existing Reasoning Effort dropdown (only for models that support it) would let me optimize cost, speed and consistency for simple agents, while still using “Low/Medium/High” for agents that need genuine reasoning.

Any resources to support this?

OpenAI and other providers support a reasoning_effort value equivalent to “none” for compatible models. Ideally this value would only appear as selectable for models that support it, similar to how other model-specific parameters are conditionally shown/validated.

Are you willing to work on this? I can assist if help needed.

Fully agree - for routing, classification, and tool-selection steps this is a real cost/latency issue, not just a nice-to-have. In the meantime, a workaround: use an HTTP Request node instead of the OpenAI Chat Model sub-node for those lightweight calls. Point it at https://api.openai.com/v1/chat/completions, set the Authorization header, and include "reasoning_effort": "none" directly in the JSON body. It’s more setup but you get full parameter control while waiting for the native node to support it. Worth upvoting this on the n8n GitHub feature request tracker as well so the team can see demand.

2 Likes