From 5e0d1ef83e7492dfb998f51c0da8cf1f72baf9af Mon Sep 17 00:00:00 2001 From: Celia Chen Date: Fri, 18 Sep 2026 12:02:35 -0700 Subject: [PATCH 1/2] [0.155 hotfix] Restore none as the TUI reasoning summary default (#46467) New local TUI sessions in 0.155 request detailed reasoning summaries by default, which causes request rejection on providers that do not support reasoning summaries. Restore `none` as the default while honoring explicit `auto`, `concise`, and `detailed` settings and concurrent delivery when summaries are explicitly enabled. This focused backport targets `release/0.155`, based on the content commit for `rust-v0.155.0`. It includes regression coverage for new-thread settings and the outbound Responses request. Validation: - Patch applies cleanly to the 0.155 release source; `git diff --check` passes. - All 9 focused reasoning-default and reasoning-status tests passed, including the outbound Responses request and existing snapshots. - `just fmt` completed; the hotfix Rust files were unchanged. Unrelated justfile rewrites from the locally installed formatter were discarded. - All 4,589 non-ignored TUI tests passed across the rerun and a follow-up of the remaining 196 tests after a runner disconnection. The earlier cursor failures were caused by `NO_COLOR=1` / `TERM=dumb`; the tests pass with normal terminal settings and no code or snapshot changes. - Release-build checks passed on Linux, macOS, and Windows. CI currently reports failures in unchanged release-base files: - [Codespell](https://github.com/openai/codex/actions/runs/35380630185/job/105715678757) flags the existing `OFlags::WRONLY` identifier. - [Manifest validation](https://github.com/openai/codex/actions/runs/35380630185/job/105715679235) finds a stale feature exception for `codex-rs/code-mode/Cargo.toml`. - [Dependency audit](https://github.com/openai/codex/actions/runs/35380630185/job/105715679009) reports RUSTSEC-2026-0285 for the existing `rustls 0.23.36` lockfile entry. - [cargo shear](https://github.com/openai/codex/actions/runs/35380630185/job/105716110806) reports an existing unlinked file, `codex-rs/login/src/internal_identity.rs`. Additional CI failures are also outside the changed TUI files: an unused `body_json` import in `core/tests/suite/openai_file_mcp.rs` (Bazel Clippy), a format-driver expectation in the Python SDK tests, and a transient `Text file busy` error while spawning a code-mode test helper (musl). These paths are unchanged from the release base. --- codex-rs/tui/src/app_server_session.rs | 2 +- .../reasoning_defaults_tests.rs | 25 ++++++++++++++++--- 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/codex-rs/tui/src/app_server_session.rs b/codex-rs/tui/src/app_server_session.rs index 1d25109f72..09387ad57e 100644 --- a/codex-rs/tui/src/app_server_session.rs +++ b/codex-rs/tui/src/app_server_session.rs @@ -1913,7 +1913,7 @@ fn new_thread_reasoning_overrides(config: &Config) -> Option Result<()> { for (settings, summary, stream_options) in [ - ("", json!("detailed"), json!(null)), + ("", json!(null), json!(null)), ( "[features]\nconcurrent_reasoning_summaries = false", - json!("detailed"), + json!(null), json!(null), ), ( "[features]\nconcurrent_reasoning_summaries = true", + json!(null), + json!(null), + ), + ( + "model_reasoning_summary = 'detailed'", + json!("detailed"), + json!(null), + ), + ( + "model_reasoning_summary = 'detailed'\n[features]\nconcurrent_reasoning_summaries = true", json!("detailed"), json!({"reasoning_summary_delivery": "sequential_cutoff"}), ), @@ -102,12 +112,19 @@ stream_max_retries = 0 } #[tokio::test] -async fn new_tui_threads_request_summaries_unless_explicitly_disabled() { +async fn new_tui_threads_disable_summaries_unless_explicitly_enabled() { let temp_dir = tempfile::tempdir().expect("tempdir"); for (config_text, expected_summary, expected_concurrent) in [ - ("", "detailed", false), + ("", "none", false), ( "[features]\nconcurrent_reasoning_summaries = true", + "none", + false, + ), + ("model_reasoning_summary = 'auto'", "auto", false), + ("model_reasoning_summary = 'detailed'", "detailed", false), + ( + "model_reasoning_summary = 'detailed'\n[features]\nconcurrent_reasoning_summaries = true", "detailed", true, ), From be2951ea34f0d295ed0becf97079f92fa5f6950e Mon Sep 17 00:00:00 2001 From: Celia Chen Date: Fri, 18 Sep 2026 12:04:49 -0700 Subject: [PATCH 2/2] ## Bug Fixes - New local TUI sessions now leave reasoning summaries disabled by default, fixing request rejection by providers that do not support them. Explicit reasoning-summary settings remain respected. (#46467) ## Changelog Full Changelog: https://github.com/openai/codex/compare/rust-v0.155.0...rust-v0.155.1 - #46467 Restore none as the TUI reasoning summary default (@celia-oai) --- codex-rs/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/codex-rs/Cargo.toml b/codex-rs/Cargo.toml index 788afe6e80..64304afb51 100644 --- a/codex-rs/Cargo.toml +++ b/codex-rs/Cargo.toml @@ -151,7 +151,7 @@ members = [ resolver = "2" [workspace.package] -version = "0.0.0" +version = "0.155.1" # Track the edition for all workspace crates in one place. Individual # crates can still override this value, but keeping it here means new # crates created with `cargo new -w ...` automatically inherit the 2024