Summary
Cursor BYOK with Override OpenAI Base URL can omit the reasoning level selected in Cursor's model picker.
Codex Pooler receives and processes the request normally, but cannot infer the missing UI choice safely. This is tracked as a client interoperability limitation, not a Pooler defect.
Verified behavior
A real Cursor desktop Agent run used:
- an explicit
gpt-5.6-luna selection
- Cursor Pro
- OpenAI API key with Override OpenAI Base URL
- a public HTTPS endpoint routed through a metadata-only local diagnostic proxy to Codex Pooler
Across 83 observed Cursor requests, the top-level request shape contained fields such as model, messages, stream, tools, user, and stream_options, but never reasoning or reasoning_effort. This remained true while the Cursor picker displayed a Medium reasoning level.
The same Pooler deployment accepts an explicit Chat Completions reasoning_effort: "high" request and:
- forwards
reasoning.effort: "high" upstream
- persists requested, effective, and applied effort as
high
- returns a successful completion
This rules out Pooler normalization, dispatch, and accounting as the point where the selected Cursor effort disappears.
Why this is wontfix here
The selected effort is not present in the client request. Guessing it from a displayed model, API key, prompt, or prior turn would create misleading accounting and make policy enforcement non-deterministic.
Pooler will continue to:
- honor an explicit client
reasoning_effort
- enforce configured Pool API-key reasoning policies
- allow operators to require a fixed effort through policy when that is appropriate
It will not synthesize an omitted Cursor UI setting.
External sources
Cursor staff has confirmed that custom Override OpenAI Base URL requests omit selected reasoning effort on the Chat Completions path:
Cursor also documents its server-side BYOK architecture in this forum response:
Related
This limitation was found during the broader Cursor compatibility work.
Users who need a chosen effort with Cursor BYOK should configure the desired Pool API-key reasoning policy rather than relying on Cursor's picker to transmit it.
Summary
Cursor BYOK with Override OpenAI Base URL can omit the reasoning level selected in Cursor's model picker.
Codex Pooler receives and processes the request normally, but cannot infer the missing UI choice safely. This is tracked as a client interoperability limitation, not a Pooler defect.
Verified behavior
A real Cursor desktop Agent run used:
gpt-5.6-lunaselectionAcross 83 observed Cursor requests, the top-level request shape contained fields such as
model,messages,stream,tools,user, andstream_options, but neverreasoningorreasoning_effort. This remained true while the Cursor picker displayed a Medium reasoning level.The same Pooler deployment accepts an explicit Chat Completions
reasoning_effort: "high"request and:reasoning.effort: "high"upstreamhighThis rules out Pooler normalization, dispatch, and accounting as the point where the selected Cursor effort disappears.
Why this is wontfix here
The selected effort is not present in the client request. Guessing it from a displayed model, API key, prompt, or prior turn would create misleading accounting and make policy enforcement non-deterministic.
Pooler will continue to:
reasoning_effortIt will not synthesize an omitted Cursor UI setting.
External sources
Cursor staff has confirmed that custom Override OpenAI Base URL requests omit selected reasoning effort on the Chat Completions path:
Cursor also documents its server-side BYOK architecture in this forum response:
Related
This limitation was found during the broader Cursor compatibility work.
Users who need a chosen effort with Cursor BYOK should configure the desired Pool API-key reasoning policy rather than relying on Cursor's picker to transmit it.