DEVOURED
Support persistent reasoning effort
The Codex reasoning-effort protocol now includes a 'persistent' mode, mapping it to a 'disabled' wire value for Responses-compatible providers.
What: The update in PR #40799 adds 'persistent' reasoning to the TypeScript SDK and TUI, ensuring local configurations persist while normalizing the value to 'disabled' for specific API providers that handle translation.
Why it matters: This addresses a long-standing issue where custom model providers could not accurately translate their internal 'persistent' reasoning state through standardized API protocols.
Takeaway: If you are using custom Responses-compatible providers, verify that your model definitions correctly map the 'persistent' reasoning alias to avoid API rejections.
Decoder
- TUI: Text-based User Interface, an interface displayed in a terminal.
- Wire value: The literal data sent across a network protocol versus the internal representation in code.
Original article
Codex has added 'persistent' to the reasoning-effort protocol and TypeScript SDK types. When a user targets a custom Responses-compatible provider whose model-defined effort is literally persistent, this now deserializes to the new Persistent variant and is unconditionally rewritten to disabled. Previously, it remained Custom("persistent") and was forwarded unchanged. Existing configurations and resumed sessions can therefore send a different value and change behavior or be rejected, so this alias should be limited to providers that define the translation.
Explore all 55 articles in today's digest
Fresh dev news, AI-digested daily. Never miss a trend at devoured.fyi