Skip to content

Cursor BYOK omits selected reasoning effort for custom OpenAI Base URLs #351

Description

@masterkain

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    wontfixThis will not be worked on

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions