Repository navigation
Description
Describe the bug
The OpenAI Codex provider (ChatGPT subscription/OAuth) accepts the verbosity setting but never includes it in requests. For example, GPT-5 supports the setting in the project's model catalog, yet choosing low or high has no effect on the outgoing request. This affects both chat and one-shot completions, including Responses Lite models.
The value reaches OpenAiCodexHandler.getModel(), but buildRequestBody() does not add it to the request.
To Reproduce
Reproduce offline using a mocked SDK request:
- Construct the Codex handler with GPT-5 and verbosity set to low.
- Capture the request body passed to the mocked Responses SDK when calling createMessage().
- The model parameters contain low, but the request body has no text.verbosity. The same omission occurs through completePrompt().
Expected behavior
For models whose catalog entry has supportsVerbosity enabled, send the selected value as text.verbosity. Follow the existing OpenAI Native implementation, including its medium fallback when unset. Omit the parameter for models without that capability flag.
Screenshots
Not applicable; verified from request bodies.
Video
Not applicable.
What version of zoo are you running
Source checkout: 3.86.0, upstream commit 2baac5e. Verification used local request interception, not live API calls.
Additional context
Implementation and verification:
- Update the shared Codex request builder linked above. No new setting or UI control is needed. Keep this issue scoped to Codex, not other providers.
- Add regression coverage in openai-codex.spec.ts: low/medium/high, unset, and a model without the capability flag. Inspect actual request bodies for chat and one-shot calls, covering ordinary Responses and a Lite model such as GPT-6.1 Sol.
- The Lite transformation already preserves unrelated fields; do not duplicate the setting logic there.
- Run from the extension package:
cd src && npx vitest run api/providers/__tests__/openai-codex.spec.ts api/providers/__tests__/openai-native.spec.ts. All checks can use mocks; no credentials or external API calls are required.
Activity
tosinxt commentedon Oct 8, 2026
Claiming. Plan, following the guide above: add
text.verbosityin the shared CodexbuildRequestBody()for models withsupportsVerbosity, defaulting to "medium" like OpenAI Native, and add regression tests inopenai-codex.spec.tsfor low/medium/high, unset and a model without the flag, across chat and one-shot calls on ordinary Responses and a Lite model.fix(openai-codex): send the verbosity setting in requests (Zoo-Code-O…