mirror of
https://github.com/pchuan98/codex.git
synced 2026-07-01 00:31:56 +08:00
fb0aaf94de7db12e22a293f5b0dd26aa6c8d6a8e
3718 Commits
-
Fixed stale link to MCP documentation (#9490)
This was noted in #9482
Eric Traut ·
2026-01-19 09:10:54 -08:00 -
jif-oai ·
2026-01-19 17:07:04 +00:00 -
Remove unused protocol collaboration mode prompts (#9463)
Delete duplicate collaboration mode markdown under protocol prompts; core templates remain the single source of truth.
Ahmed Ibrahim ·
2026-01-19 08:54:19 -08:00 -
Fix invalid input error on Azure endpoint (#9387)
Users of Azure endpoints are reporting that when they use `/review`, they sometimes see an error "Invalid 'input[3].id". I suspect this is specific to the Azure implementation of the `responses` API. The Azure team generally copies the OpenAI code for this endpoint, but they do have minor differences and sometimes lag in rolling out bug fixes or updates. The error appears to be triggered because the `/review` implementation is using a user ID with a colon in it. Addresses #9360
Eric Traut ·
2026-01-19 08:21:27 -08:00 -
jif-oai ·
2026-01-19 11:56:38 +00:00 -
feat: detach non-tty childs (#9477)
Thanks to the investigations made by * @frantic-openai https://github.com/openai/codex/pull/9403 * @kfiramar https://github.com/openai/codex/pull/9388
jif-oai ·
2026-01-19 11:35:34 +00:00 -
jif-oai ·
2026-01-19 11:35:03 +00:00 -
jif-oai ·
2026-01-19 10:44:31 +00:00 -
Fixed TUI regression related to image paste in WSL (#9473)
This affects quoted paths in WSL. The fix is to normalize quoted Windows paths before WSL conversion. This addresses #9456
Eric Traut ·
2026-01-18 23:02:02 -08:00 -
chore(deps): bump chrono from 0.4.42 to 0.4.43 in /codex-rs (#9465)
Bumps [chrono](https://github.com/chronotope/chrono) from 0.4.42 to 0.4.43. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/chronotope/chrono/releases">chrono's releases</a>.</em></p> <blockquote> <h2>0.4.43</h2> <h2>What's Changed</h2> <ul> <li>Install extra components for lint workflow by <a href="https://github.com/djc"><code>@djc</code></a> in <a href="https://redirect.github.com/chronotope/chrono/pull/1741">chronotope/chrono#1741</a></li> <li>Upgrade windows-bindgen to 0.64 by <a href="https://github.com/djc"><code>@djc</code></a> in <a href="https://redirect.github.com/chronotope/chrono/pull/1742">chronotope/chrono#1742</a></li> <li>Improve windows-bindgen setup by <a href="https://github.com/djc"><code>@djc</code></a> in <a href="https://redirect.github.com/chronotope/chrono/pull/1744">chronotope/chrono#1744</a></li> <li>Drop stabilized feature doc_auto_cfg by <a href="https://github.com/djc"><code>@djc</code></a> in <a href="https://redirect.github.com/chronotope/chrono/pull/1745">chronotope/chrono#1745</a></li> <li>Faster RFC 3339 parsing by <a href="https://github.com/djc"><code>@djc</code></a> in <a href="https://redirect.github.com/chronotope/chrono/pull/1748">chronotope/chrono#1748</a></li> <li>Update windows-bindgen requirement from 0.64 to 0.65 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/chronotope/chrono/pull/1751">chronotope/chrono#1751</a></li> <li>add <code>NaiveDate::abs_diff</code> by <a href="https://github.com/Kinrany"><code>@Kinrany</code></a> in <a href="https://redirect.github.com/chronotope/chrono/pull/1752">chronotope/chrono#1752</a></li> <li>Add feature gated defmt support. by <a href="https://github.com/pebender"><code>@pebender</code></a> in <a href="https://redirect.github.com/chronotope/chrono/pull/1747">chronotope/chrono#1747</a></li> <li>Drop deny lints, eager Debug impls are a mixed blessing by <a href="https://github.com/djc"><code>@djc</code></a> in <a href="https://redirect.github.com/chronotope/chrono/pull/1753">chronotope/chrono#1753</a></li> <li>chore: minor improvement for docs by <a href="https://github.com/spuradage"><code>@spuradage</code></a> in <a href="https://redirect.github.com/chronotope/chrono/pull/1756">chronotope/chrono#1756</a></li> <li>Added doctest for the NaiveDate years_since function by <a href="https://github.com/LucasBou"><code>@LucasBou</code></a> in <a href="https://redirect.github.com/chronotope/chrono/pull/1755">chronotope/chrono#1755</a></li> <li>Prepare 0.4.43 by <a href="https://github.com/djc"><code>@djc</code></a> in <a href="https://redirect.github.com/chronotope/chrono/pull/1765">chronotope/chrono#1765</a></li> <li>Update copyright year to 2026 in LICENSE.txt by <a href="https://github.com/taozui472"><code>@taozui472</code></a> in <a href="https://redirect.github.com/chronotope/chrono/pull/1767">chronotope/chrono#1767</a></li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/chronotope/chrono/commit/45caaa970ce443b11106a710ee24bd2480e5ff99"><code>45caaa9</code></a> Update copyright year to 2026 in LICENSE.txt</li> <li><a href="https://github.com/chronotope/chrono/commit/1c0b8f011ab2f2e53c195df1866a1fb4c7fd193a"><code>1c0b8f0</code></a> Bump version to 0.4.43</li> <li><a href="https://github.com/chronotope/chrono/commit/a03e43b1c3ef3aea77f12200d84144f275560aa9"><code>a03e43b</code></a> Upgrade windows-bindgen to 0.66</li> <li><a href="https://github.com/chronotope/chrono/commit/4fedaba2a214aa560e1c6a70d0a09e6955ed3ff4"><code>4fedaba</code></a> Ignore bincode advisory</li> <li><a href="https://github.com/chronotope/chrono/commit/f4b7bbda679199e7509da813849a10242b2f7aa1"><code>f4b7bbd</code></a> Bump actions/checkout from 5 to 6</li> <li><a href="https://github.com/chronotope/chrono/commit/db129730e8f21ca66b3808c133b7147cbc62fc41"><code>db12973</code></a> Added doctest for the NaiveDate years_since function (<a href="https://redirect.github.com/chronotope/chrono/issues/1755">#1755</a>)</li> <li><a href="https://github.com/chronotope/chrono/commit/34b5f49e9d7cdcabda6eea054609a2ce4ba947f0"><code>34b5f49</code></a> chore: minor improvement for docs</li> <li><a href="https://github.com/chronotope/chrono/commit/8c827116b9d67fe926eceb553ce95656dd7627d0"><code>8c82711</code></a> Bump actions/setup-node from 5 to 6</li> <li><a href="https://github.com/chronotope/chrono/commit/ea1f11b356fde5c2825679378e8ddf6e153942e5"><code>ea1f11b</code></a> Drop deny lints, eager Debug impls are a mixed blessing</li> <li><a href="https://github.com/chronotope/chrono/commit/35f9f2daef4c3132546d0004fdf37284df023fd3"><code>35f9f2d</code></a> Add feature gated defmt support.</li> <li>Additional commits viewable in <a href="https://github.com/chronotope/chrono/compare/v0.4.42...v0.4.43">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
dependabot[bot] ·
2026-01-19 06:43:34 +00:00 -
chore(deps): bump ctor from 0.5.0 to 0.6.3 in /codex-rs (#9469)
Bumps [ctor](https://github.com/mmastrac/rust-ctor) from 0.5.0 to 0.6.3. <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/mmastrac/rust-ctor/commits">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
dependabot[bot] ·
2026-01-18 22:37:11 -08:00 -
chore(deps): bump arc-swap from 1.7.1 to 1.8.0 in /codex-rs (#9468)
Bumps [arc-swap](https://github.com/vorner/arc-swap) from 1.7.1 to 1.8.0. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/vorner/arc-swap/blob/master/CHANGELOG.md">arc-swap's changelog</a>.</em></p> <blockquote> <h1>1.8.0</h1> <ul> <li>Support for Pin (<a href="https://redirect.github.com/vorner/arc-swap/issues/185">#185</a>, <a href="https://redirect.github.com/vorner/arc-swap/issues/183">#183</a>).</li> <li>Fix (hopefully) crash on ARM (<a href="https://redirect.github.com/vorner/arc-swap/issues/164">#164</a>).</li> <li>Fix Miri check (<a href="https://redirect.github.com/vorner/arc-swap/issues/186">#186</a>, <a href="https://redirect.github.com/vorner/arc-swap/issues/156">#156</a>).</li> <li>Fix support for Rust 1.31.0.</li> <li>Some minor clippy lints.</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/vorner/arc-swap/commit/2540d266a837143948a0541a05d200fa1087a7db"><code>2540d26</code></a> Version bump to 1.8.0</li> <li><a href="https://github.com/vorner/arc-swap/commit/9981e3af2351d82fe6f77761ee1e4a8479ec1fc7"><code>9981e3a</code></a> Keep "old" Cargo.lock around</li> <li><a href="https://github.com/vorner/arc-swap/commit/57a8abbfc4100d918bcc4511eaa3c61740fe9c10"><code>57a8abb</code></a> Fix documentation links</li> <li><a href="https://github.com/vorner/arc-swap/commit/346c5b642b00acb30ea8756f8186599a30e1edbc"><code>346c5b6</code></a> Fix some clippy warnings</li> <li><a href="https://github.com/vorner/arc-swap/commit/0bd349a56bd448e0712a034f8892edfb6d4a41f2"><code>0bd349a</code></a> Fix support for Rust 1.31.0</li> <li><a href="https://github.com/vorner/arc-swap/commit/57aa5224c19124ad2fa26eae70fa7778dd2224ac"><code>57aa522</code></a> Merge pull request <a href="https://redirect.github.com/vorner/arc-swap/issues/185">#185</a> from SpriteOvO/pin</li> <li><a href="https://github.com/vorner/arc-swap/commit/4c0c4ab3218beeb0ae0b73d00e2a6c71b5b612f3"><code>4c0c4ab</code></a> Implement <code>RefCnt</code> for <code>Pin\<Arc></code> and <code>Pin\<Rc></code></li> <li><a href="https://github.com/vorner/arc-swap/commit/e596275acf37fceceb643a835e8b42563c42d919"><code>e596275</code></a> Avoid warnings about hidden lifetimes</li> <li><a href="https://github.com/vorner/arc-swap/commit/d849a2d17e02b66c58a67f95beff8f072e6a306c"><code>d849a2d</code></a> Use SeqCst in debt-lists</li> <li><a href="https://github.com/vorner/arc-swap/commit/1f9b221da9907d690ff10a119c7d0155e99d09cb"><code>1f9b221</code></a> Merge pull request <a href="https://redirect.github.com/vorner/arc-swap/issues/186">#186</a> from nbdd0121/prov</li> <li>Additional commits viewable in <a href="https://github.com/vorner/arc-swap/compare/v1.7.1...v1.8.0">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
dependabot[bot] ·
2026-01-18 22:25:23 -08:00 -
chore(deps): bump tokio from 1.48.0 to 1.49.0 in /codex-rs (#9467)
Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.48.0 to 1.49.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/tokio-rs/tokio/releases">tokio's releases</a>.</em></p> <blockquote> <h2>Tokio v1.49.0</h2> <h1>1.49.0 (January 3rd, 2026)</h1> <h3>Added</h3> <ul> <li>net: add support for <code>TCLASS</code> option on IPv6 (<a href="https://redirect.github.com/tokio-rs/tokio/issues/7781">#7781</a>)</li> <li>runtime: stabilize <code>runtime::id::Id</code> (<a href="https://redirect.github.com/tokio-rs/tokio/issues/7125">#7125</a>)</li> <li>task: implement <code>Extend</code> for <code>JoinSet</code> (<a href="https://redirect.github.com/tokio-rs/tokio/issues/7195">#7195</a>)</li> <li>task: stabilize the <code>LocalSet::id()</code> (<a href="https://redirect.github.com/tokio-rs/tokio/issues/7776">#7776</a>)</li> </ul> <h3>Changed</h3> <ul> <li>net: deprecate <code>{TcpStream,TcpSocket}::set_linger</code> (<a href="https://redirect.github.com/tokio-rs/tokio/issues/7752">#7752</a>)</li> </ul> <h3>Fixed</h3> <ul> <li>macros: fix the hygiene issue of <code>join!</code> and <code>try_join!</code> (<a href="https://redirect.github.com/tokio-rs/tokio/issues/7766">#7766</a>)</li> <li>runtime: revert "replace manual vtable definitions with Wake" (<a href="https://redirect.github.com/tokio-rs/tokio/issues/7699">#7699</a>)</li> <li>sync: return <code>TryRecvError::Disconnected</code> from <code>Receiver::try_recv</code> after <code>Receiver::close</code> (<a href="https://redirect.github.com/tokio-rs/tokio/issues/7686">#7686</a>)</li> <li>task: remove unnecessary trait bounds on the <code>Debug</code> implementation (<a href="https://redirect.github.com/tokio-rs/tokio/issues/7720">#7720</a>)</li> </ul> <h3>Unstable</h3> <ul> <li>fs: handle <code>EINTR</code> in <code>fs::write</code> for io-uring (<a href="https://redirect.github.com/tokio-rs/tokio/issues/7786">#7786</a>)</li> <li>fs: support io-uring with <code>tokio::fs::read</code> (<a href="https://redirect.github.com/tokio-rs/tokio/issues/7696">#7696</a>)</li> <li>runtime: disable io-uring on <code>EPERM</code> (<a href="https://redirect.github.com/tokio-rs/tokio/issues/7724">#7724</a>)</li> <li>time: add alternative timer for better multicore scalability (<a href="https://redirect.github.com/tokio-rs/tokio/issues/7467">#7467</a>)</li> </ul> <h3>Documented</h3> <ul> <li>docs: fix a typos in <code>bounded.rs</code> and <code>park.rs</code> (<a href="https://redirect.github.com/tokio-rs/tokio/issues/7817">#7817</a>)</li> <li>io: add <code>SyncIoBridge</code> cross-references to <code>copy</code> and <code>copy_buf</code> (<a href="https://redirect.github.com/tokio-rs/tokio/issues/7798">#7798</a>)</li> <li>io: doc that <code>AsyncWrite</code> does not inherit from <code>std::io::Write</code> (<a href="https://redirect.github.com/tokio-rs/tokio/issues/7705">#7705</a>)</li> <li>metrics: clarify that <code>num_alive_tasks</code> is not strongly consistent (<a href="https://redirect.github.com/tokio-rs/tokio/issues/7614">#7614</a>)</li> <li>net: clarify the cancellation safety of the <code>TcpStream::peek</code> (<a href="https://redirect.github.com/tokio-rs/tokio/issues/7305">#7305</a>)</li> <li>net: clarify the drop behavior of <code>unix::OwnedWriteHalf</code> (<a href="https://redirect.github.com/tokio-rs/tokio/issues/7742">#7742</a>)</li> <li>net: clarify the platform-dependent backlog in <code>TcpSocket</code> docs (<a href="https://redirect.github.com/tokio-rs/tokio/issues/7738">#7738</a>)</li> <li>runtime: mention <code>LocalRuntime</code> in <code>new_current_thread</code> docs (<a href="https://redirect.github.com/tokio-rs/tokio/issues/7820">#7820</a>)</li> <li>sync: add missing period to <code>mpsc::Sender::try_send</code> docs (<a href="https://redirect.github.com/tokio-rs/tokio/issues/7721">#7721</a>)</li> <li>sync: clarify the cancellation safety of <code>oneshot::Receiver</code> (<a href="https://redirect.github.com/tokio-rs/tokio/issues/7780">#7780</a>)</li> <li>sync: improve the docs for the <code>errors</code> of mpsc (<a href="https://redirect.github.com/tokio-rs/tokio/issues/7722">#7722</a>)</li> <li>task: add example for <code>spawn_local</code> usage on local runtime (<a href="https://redirect.github.com/tokio-rs/tokio/issues/7689">#7689</a>)</li> </ul> <p><a href="https://redirect.github.com/tokio-rs/tokio/issues/7125">#7125</a>: <a href="https://redirect.github.com/tokio-rs/tokio/pull/7125">tokio-rs/tokio#7125</a> <a href="https://redirect.github.com/tokio-rs/tokio/issues/7195">#7195</a>: <a href="https://redirect.github.com/tokio-rs/tokio/pull/7195">tokio-rs/tokio#7195</a> <a href="https://redirect.github.com/tokio-rs/tokio/issues/7305">#7305</a>: <a href="https://redirect.github.com/tokio-rs/tokio/pull/7305">tokio-rs/tokio#7305</a> <a href="https://redirect.github.com/tokio-rs/tokio/issues/7467">#7467</a>: <a href="https://redirect.github.com/tokio-rs/tokio/pull/7467">tokio-rs/tokio#7467</a> <a href="https://redirect.github.com/tokio-rs/tokio/issues/7614">#7614</a>: <a href="https://redirect.github.com/tokio-rs/tokio/pull/7614">tokio-rs/tokio#7614</a> <a href="https://redirect.github.com/tokio-rs/tokio/issues/7686">#7686</a>: <a href="https://redirect.github.com/tokio-rs/tokio/pull/7686">tokio-rs/tokio#7686</a> <a href="https://redirect.github.com/tokio-rs/tokio/issues/7689">#7689</a>: <a href="https://redirect.github.com/tokio-rs/tokio/pull/7689">tokio-rs/tokio#7689</a></p> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/tokio-rs/tokio/commit/e3b89bbefa7564e2eba2fb9f849ef7bf87d60fad"><code>e3b89bb</code></a> chore: prepare Tokio v1.49.0 (<a href="https://redirect.github.com/tokio-rs/tokio/issues/7824">#7824</a>)</li> <li><a href="https://github.com/tokio-rs/tokio/commit/4f577b84e939c8d427d79fdc73919842d8735de2"><code>4f577b8</code></a> Merge 'tokio-1.47.3' into 'master'</li> <li><a href="https://github.com/tokio-rs/tokio/commit/f320197693ee09e28f1fca0e55418081adcdfc25"><code>f320197</code></a> chore: prepare Tokio v1.47.3 (<a href="https://redirect.github.com/tokio-rs/tokio/issues/7823">#7823</a>)</li> <li><a href="https://github.com/tokio-rs/tokio/commit/ea6b144cd1042d6841a7830b18f2df77c3db904b"><code>ea6b144</code></a> ci: freeze rustc on nightly-2025-01-25 in <code>netlify.toml</code> (<a href="https://redirect.github.com/tokio-rs/tokio/issues/7652">#7652</a>)</li> <li><a href="https://github.com/tokio-rs/tokio/commit/264e703296bccd6783a438815d91055d4517099b"><code>264e703</code></a> Merge <code>tokio-1.43.4</code> into <code>tokio-1.47.x</code> (<a href="https://redirect.github.com/tokio-rs/tokio/issues/7822">#7822</a>)</li> <li><a href="https://github.com/tokio-rs/tokio/commit/dfb0f00838ca1986dee04a54a6299d35b0a4072c"><code>dfb0f00</code></a> chore: prepare Tokio v1.43.4 (<a href="https://redirect.github.com/tokio-rs/tokio/issues/7821">#7821</a>)</li> <li><a href="https://github.com/tokio-rs/tokio/commit/4a91f197b03dc335010fffcf0e0c14e1f4011b42"><code>4a91f19</code></a> ci: fix wasm32-wasip1 tests (<a href="https://redirect.github.com/tokio-rs/tokio/issues/7788">#7788</a>)</li> <li><a href="https://github.com/tokio-rs/tokio/commit/601c383ab6def5a6d2f95a434c95a97b65059628"><code>601c383</code></a> ci: upgrade FreeBSD from 14.2 to 14.3 (<a href="https://redirect.github.com/tokio-rs/tokio/issues/7758">#7758</a>)</li> <li><a href="https://github.com/tokio-rs/tokio/commit/484cb52d8d21cb8156decbeba9569651fcc09d0d"><code>484cb52</code></a> sync: return <code>TryRecvError::Disconnected</code> from <code>Receiver::try_recv</code> after `Re...</li> <li><a href="https://github.com/tokio-rs/tokio/commit/16f20c34ed9bc11eb1e7cdec441ab844b198d2cd"><code>16f20c3</code></a> rt: mention <code>LocalRuntime</code> in <code>new_current_thread</code> docs (<a href="https://redirect.github.com/tokio-rs/tokio/issues/7820">#7820</a>)</li> <li>Additional commits viewable in <a href="https://github.com/tokio-rs/tokio/compare/tokio-1.48.0...tokio-1.49.0">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
dependabot[bot] ·
2026-01-18 22:24:55 -08:00 -
chore(deps): bump log from 0.4.28 to 0.4.29 in /codex-rs (#9466)
Bumps [log](https://github.com/rust-lang/log) from 0.4.28 to 0.4.29. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/rust-lang/log/releases">log's releases</a>.</em></p> <blockquote> <h2>0.4.29</h2> <h2>MSRV</h2> <p>This release increases <code>log</code>'s MSRV from <code>1.61.0</code> to <code>1.68.0</code>.</p> <h2>What's Changed</h2> <ul> <li>docs: Add missing impls from README.md by <a href="https://github.com/AldaronLau"><code>@AldaronLau</code></a> in <a href="https://redirect.github.com/rust-lang/log/pull/703">rust-lang/log#703</a></li> <li>Point to new URLs for favicon and logo by <a href="https://github.com/AldaronLau"><code>@AldaronLau</code></a> in <a href="https://redirect.github.com/rust-lang/log/pull/704">rust-lang/log#704</a></li> <li>perf: reduce llvm-lines of FromStr for <code>Level</code> and <code>LevelFilter</code> by <a href="https://github.com/dishmaker"><code>@dishmaker</code></a> in <a href="https://redirect.github.com/rust-lang/log/pull/709">rust-lang/log#709</a></li> <li>Replace serde with serde_core by <a href="https://github.com/Thomasdezeeuw"><code>@Thomasdezeeuw</code></a> in <a href="https://redirect.github.com/rust-lang/log/pull/712">rust-lang/log#712</a></li> <li>Fix clippy lints by <a href="https://github.com/Thomasdezeeuw"><code>@Thomasdezeeuw</code></a> in <a href="https://redirect.github.com/rust-lang/log/pull/713">rust-lang/log#713</a></li> <li>Use GitHub Actions to install Rust and cargo-hack by <a href="https://github.com/Thomasdezeeuw"><code>@Thomasdezeeuw</code></a> in <a href="https://redirect.github.com/rust-lang/log/pull/715">rust-lang/log#715</a></li> <li>Exclude old unstable_kv features from testing matrix by <a href="https://github.com/Thomasdezeeuw"><code>@Thomasdezeeuw</code></a> in <a href="https://redirect.github.com/rust-lang/log/pull/716">rust-lang/log#716</a></li> <li>Fix up CI by <a href="https://github.com/KodrAus"><code>@KodrAus</code></a> in <a href="https://redirect.github.com/rust-lang/log/pull/718">rust-lang/log#718</a></li> <li>Prepare for 0.4.29 release by <a href="https://github.com/KodrAus"><code>@KodrAus</code></a> in <a href="https://redirect.github.com/rust-lang/log/pull/719">rust-lang/log#719</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/AldaronLau"><code>@AldaronLau</code></a> made their first contribution in <a href="https://redirect.github.com/rust-lang/log/pull/703">rust-lang/log#703</a></li> <li><a href="https://github.com/dishmaker"><code>@dishmaker</code></a> made their first contribution in <a href="https://redirect.github.com/rust-lang/log/pull/709">rust-lang/log#709</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/rust-lang/log/compare/0.4.28...0.4.29">https://github.com/rust-lang/log/compare/0.4.28...0.4.29</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/rust-lang/log/blob/master/CHANGELOG.md">log's changelog</a>.</em></p> <blockquote> <h2>[0.4.29] - 2025-12-02</h2> <h2>What's Changed</h2> <ul> <li>perf: reduce llvm-lines of FromStr for <code>Level</code> and <code>LevelFilter</code> by <a href="https://github.com/dishmaker"><code>@dishmaker</code></a> in <a href="https://redirect.github.com/rust-lang/log/pull/709">rust-lang/log#709</a></li> <li>Replace serde with serde_core by <a href="https://github.com/Thomasdezeeuw"><code>@Thomasdezeeuw</code></a> in <a href="https://redirect.github.com/rust-lang/log/pull/712">rust-lang/log#712</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/AldaronLau"><code>@AldaronLau</code></a> made their first contribution in <a href="https://redirect.github.com/rust-lang/log/pull/703">rust-lang/log#703</a></li> <li><a href="https://github.com/dishmaker"><code>@dishmaker</code></a> made their first contribution in <a href="https://redirect.github.com/rust-lang/log/pull/709">rust-lang/log#709</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/rust-lang/log/compare/0.4.28...0.4.29">https://github.com/rust-lang/log/compare/0.4.28...0.4.29</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/rust-lang/log/commit/b1e2df7bce7a1b685aa9bfd1db0a5cac1f0fc27d"><code>b1e2df7</code></a> Merge pull request <a href="https://redirect.github.com/rust-lang/log/issues/719">#719</a> from rust-lang/cargo/0.4.29</li> <li><a href="https://github.com/rust-lang/log/commit/3fe1a546dc323e614c35d136920a112406910e06"><code>3fe1a54</code></a> prepare for 0.4.29 release</li> <li><a href="https://github.com/rust-lang/log/commit/7a432d9ab570c49d42fcbd1c3b9e1e300064c2b9"><code>7a432d9</code></a> Merge pull request <a href="https://redirect.github.com/rust-lang/log/issues/718">#718</a> from rust-lang/ci/msrv</li> <li><a href="https://github.com/rust-lang/log/commit/0689d568479bb578f66e48df43628cc04aa6269b"><code>0689d56</code></a> rebump msrv to 1.68.0</li> <li><a href="https://github.com/rust-lang/log/commit/46b448e2a76a14210a7270ec11ad97cb9cbda6dc"><code>46b448e</code></a> try drop msrv back to 1.61.0</li> <li><a href="https://github.com/rust-lang/log/commit/929ab3812e86915bb5edb65609cd6d5cb17939fb"><code>929ab38</code></a> fix up doc test feature gate</li> <li><a href="https://github.com/rust-lang/log/commit/957cece4780cb006cbe2f819bd2f893822aad7cb"><code>957cece</code></a> bump serde-dependent crates</li> <li><a href="https://github.com/rust-lang/log/commit/bea40c847c77ecb7b7e9f2d858a21edaa2aa6159"><code>bea40c8</code></a> bump msrv to 1.68.0</li> <li><a href="https://github.com/rust-lang/log/commit/c540184ee9581d7373135f5511b6b174b5cee2d6"><code>c540184</code></a> Merge pull request <a href="https://redirect.github.com/rust-lang/log/issues/716">#716</a> from rust-lang/ci-smaller-matrix2</li> <li><a href="https://github.com/rust-lang/log/commit/c971e636c4b44ff01ff21e6aa82607272d2d0bf2"><code>c971e63</code></a> Merge branch 'master' into ci-smaller-matrix2</li> <li>Additional commits viewable in <a href="https://github.com/rust-lang/log/compare/0.4.28...0.4.29">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
dependabot[bot] ·
2026-01-18 22:24:34 -08:00 -
Fixed symlink support for config.toml (#9445)
We already support reading from `config.toml` through a symlink, but the code was not properly handling updates to a symlinked config file. This PR generalizes safe symlink-chain resolution and atomic writes into path_utils, updating all config write paths to use the shared logic (including set_default_oss_provider, which previously didn't use the common path), and adds tests for symlink chains and cycles. This resolves #6646. Notes: * Symlink cycles or resolution failures replace the top-level symlink with a real file. * Shared config write path now handles symlinks consistently across edits, defaults, and empty-user-layer creation. This PR was inspired by https://github.com/openai/codex/pull/9437, which was contributed by @ryoppippi
Eric Traut ·
2026-01-18 19:22:28 -08:00 -
fix(tui2): running /mcp was not printing any output until another event triggered a flush (#9457)
This seems to fix things, but I'm not sure if this is the correct/minimal fix.
Michael Bolin ·
2026-01-18 19:19:37 -08:00 -
Add collaboration modes test prompts (#9443)
# External (non-OpenAI) Pull Request Requirements Before opening this Pull Request, please read the dedicated "Contributing" markdown file or your PR may be closed: https://github.com/openai/codex/blob/main/docs/contributing.md If your PR conforms to our contribution guidelines, replace this text with a detailed and high quality description of your changes. Include a link to a bug report or enhancement request.
Ahmed Ibrahim ·
2026-01-18 11:39:08 -08:00 -
tui: allow forward navigation in backtrack preview (#9059)
Fixes #9058 ## Summary When the transcript backtrack preview is armed (press `Esc`), allow navigating to newer user messages with the `→` arrow, in addition to navigating backwards with `Esc`/`←`, before confirming with `Enter`. ## Changes - Backtrack preview navigation: `Esc`/`←` steps to older user messages, `→` steps to newer ones, `Enter` edits the selected message (clamped at bounds, no wrap-around). - Transcript overlay footer hints updated to advertise `esc/←`, `→`, and `enter` when a message is highlighted. ## Related - WSL shortcut-overlay snapshot determinism: #9359 ## Testing - `just fmt` - `just fix -p codex-tui` - `just fix -p codex-tui2` - `cargo test -p codex-tui app_backtrack::` - `cargo test -p codex-tui pager_overlay::` - `cargo test -p codex-tui2 app_backtrack::` - `cargo test -p codex-tui2 pager_overlay::` --------- Co-authored-by: Josh McKinney <joshka@openai.com>
SlKzᵍᵐ ·
2026-01-18 04:10:24 +00:00 -
Preserve slash command order in search (#9425)
Keep slash popup search results in presentation order for built-ins and prompts.
Ahmed Ibrahim ·
2026-01-17 19:46:07 -08:00 -
Add collaboration developer instructions (#9424)
- Add additional instructions when they are available - Make sure to update them on change either UserInput or UserTurn
Ahmed Ibrahim ·
2026-01-18 01:31:14 +00:00 -
chore(instructions) Remove unread SessionMeta.instructions field (#9423)
### Description - Remove the now-unused `instructions` field from the session metadata to simplify SessionMeta and stop propagating transient instruction text through the rollout recorder API. This was only saving user_instructions, and was never being read. - Stop passing user instructions into the rollout writer at session creation so the rollout header only contains canonical session metadata. ### Testing - Ran `just fmt` which completed successfully. - Ran `just fix -p codex-protocol`, `just fix -p codex-core`, `just fix -p codex-app-server`, `just fix -p codex-tui`, and `just fix -p codex-tui2` which completed (Clippy fixes applied) as part of verification. - Ran `cargo test -p codex-protocol` which passed (28 tests). - Ran `cargo test -p codex-core` which showed failures in a small set of tests (not caused by the protocol type change directly): `default_client::tests::test_create_client_sets_default_headers`, several `models_manager::manager::tests::refresh_available_models_*`, and `shell_snapshot::tests::linux_sh_snapshot_includes_sections` (these tests failed in this CI run). - Ran `cargo test -p codex-app-server` which reported several failing integration tests (including `suite::codex_message_processor_flow::test_codex_jsonrpc_conversation_flow`, `suite::output_schema::send_user_turn_*`, and `suite::user_agent::get_user_agent_returns_current_codex_user_agent`). - `cargo test -p codex-tui` and `cargo test -p codex-tui2` were attempted but aborted due to disk space exhaustion (`No space left on device`). ------ [Codex Task](https://chatgpt.com/codex/tasks/task_i_696bd8ce632483228d298cf07c7eb41c)
Dylan Hurd ·
2026-01-17 16:02:28 -08:00 -
chore(core) Create instructions module (#9422)
## Summary We have a variety of things we refer to as instructions in the code base: our current canonical terms are: - base instructions (raw string) - developer instructions (has a type in protocol) - user instructions We also have `instructions` floating around in various places. We should standardize on the above, and start using types to prevent them from ending up in the wrong place. There will be additional PRs, but I'm going to keep these small so we can easily follow them! ## Testing - [x] Tests pass, this is purely a file move
Dylan Hurd ·
2026-01-17 16:01:26 -08:00 -
Expose collaboration presets (#9421)
Expose collaboration presets for clients --------- Co-authored-by: Josh McKinney <joshka@openai.com>
Ahmed Ibrahim ·
2026-01-17 12:32:50 -08:00 -
fix unified_exec::tests::unified_exec_timeouts to use a more unique match value (#9414)
Fix unified_exec_timeouts to use a unique variable value rather than "codex" which was causing false positives when running tests locally (presumably from my bash prompts). Discovered while running tests to validate another change. Fixes https://github.com/openai/codex/issues/9413 Test Plan: Ran test locally on my fedora 43 x86_64 machine with: ``` cd codex/cargo-rs cargo nextest run --all-features --no-fail-fast unified_exec::tests::unified_exec_timeouts ``` Before, unified_exec_timeouts fails: ``` Finished `test` profile [unoptimized + debuginfo] target(s) in 0.38s ──────────── Nextest run ID fa2b4949-a66c-408c-8002-32c52c70ec4f with nextest profile: default Starting 1 test across 107 binaries (3211 tests skipped) FAIL [ 5.667s] codex-core unified_exec::tests::unified_exec_timeouts stdout ─── running 1 test test unified_exec::tests::unified_exec_timeouts ... FAILED failures: failures: unified_exec::tests::unified_exec_timeouts test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 774 filtered out; finished in 5.66s stderr ─── thread 'unified_exec::tests::unified_exec_timeouts' (459601) panicked at core/src/unified_exec/mod.rs:381:9: timeout too short should yield incomplete output note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace ──────────── Summary [ 5.677s] 1 test run: 0 passed, 1 failed, 3211 skipped FAIL [ 5.667s] codex-core unified_exec::tests::unified_exec_timeouts error: test run failed ``` After, works: ``` Finished `test` profile [unoptimized + debuginfo] target(s) in 0.34s ──────────── Nextest run ID f49e9004-e30b-4049-b0ff-283b543a1cd7 with nextest profile: default Starting 1 test across 107 binaries (3211 tests skipped) SLOW [> 15.000s] codex-core unified_exec::tests::unified_exec_timeouts PASS [ 17.666s] codex-core unified_exec::tests::unified_exec_timeouts ──────────── Summary [ 17.676s] 1 test run: 1 passed (1 slow), 3211 skipped ```
Alex Hornby ·
2026-01-17 09:05:53 -08:00 -
fix(tui) Defer backtrack trim until rollback confirms (#9401)
Document the backtrack/rollback state machine and invariants between the transcript overlay, in-flight “live tail”, and core thread state (tui + tui2). Also adjust behavior for correctness: - Track a single pending rollback and block additional rollbacks until core responds. - Defer trimming transcript cells until ThreadRolledBack for the active session. - Clear the guard on ThreadRollbackFailed so the user can retry. - After a confirmed trim, schedule a one-shot scrollback refresh on the next draw. - Clear stale pending rollback state when switching sessions. --------- Co-authored-by: Josh McKinney <joshka@openai.com>
Ahmed Ibrahim ·
2026-01-17 06:29:41 +00:00 -
fix(codex-api): treat invalid_prompt as non-retryable (#9400)
**Goal**: Prevent response.failed events with `invalid_prompt` from being treated as retryable errors so the UI shows the actual error message instead of continually retrying. **Before**: Codex would continue to retry despite the prompt being marked as disallowed **After**: Codex will stop retrying once prompt is marked disallowed
Fouad Matin ·
2026-01-16 22:22:08 -08:00 -
Ahmed Ibrahim ·
2026-01-16 21:51:25 -08:00 -
Support enable/disable skill via config/api. (#9328)
In config.toml: ``` [[skills.config]] path = "/Users/xl/.codex/skills/my_skill/SKILL.md" enabled = false ``` API: skills/list, skills/config/write
xl-openai ·
2026-01-16 20:22:05 -08:00 -
Introduce collaboration modes (#9340)
- Merge `model` and `reasoning_effort` under collaboration modes. - Add additional instructions for custom collaboration mode - Default to Custom to not change behavior
Ahmed Ibrahim ·
2026-01-17 00:28:22 +00:00 -
feat: show forked from session id in /status (#9330)
Summary: - Add forked_from to SessionMeta/SessionConfiguredEvent and persist it for forked sessions. - Surface forked_from in /status for tui + tui2 and add snapshots.
Anton Panasenko ·
2026-01-16 13:41:46 -08:00 -
feat(app-server, core): return threads by created_at or updated_at (#9247)
Add support for returning threads by either `created_at` OR `updated_at` descending. Previously core always returned threads ordered by `created_at`. This PR: - updates core to be able to list threads by `updated_at` OR `created_at` descending based on what the caller wants - also update `thread/list` in app-server to expose this (default to `created_at` if not specified) All existing codepaths (app-server, TUI) still default to `created_at`, so no behavior change is expected with this PR. **Implementation** To sort by `updated_at` is a bit nontrivial (whereas `created_at` is easy due to the way we structure the folders and filenames on disk, which are all based on `created_at`). The most naive way to do this without introducing a cache file or sqlite DB (which we have to implement/maintain) is to scan files in reverse `created_at` order on disk, and look at the file's mtime (last modified timestamp according to the filesystem) until we reach `MAX_SCAN_FILES` (currently set to 10,000). Then, we can return the most recent N threads. Based on some quick and dirty benchmarking on my machine with ~1000 rollout files, calling `thread/list` with limit 50, the `updated_at` path is slower as expected due to all the I/O: - updated-at: average 103.10 ms - created-at: average 41.10 ms Those absolute numbers aren't a big deal IMO, but we can certainly optimize this in a followup if needed by introducing more state stored on disk. **Caveat** There's also a limitation in that any files older than `MAX_SCAN_FILES` will be excluded, which means if a user continues a REALLY old thread, it's possible to not be included. In practice that should not be too big of an issue. If a user makes... - 1000 rollouts/day → threads older than 10 days won't show up - 100 rollouts/day → ~100 days If this becomes a problem for some reason, even more motivation to implement an updated_at cache.
Owen Lin ·
2026-01-16 20:58:55 +00:00 -
feat: /fork the current session instead of opening session picker (#9385)
Implemented /fork to fork the current session directly (no picker), handling it via a new ForkCurrentSession app event in both tui and tui2. Updated slash command descriptions/tooltips and adjusted the fork tests accordingly. Removed the unused in-session fork picker event.
Anton Panasenko ·
2026-01-16 11:28:52 -08:00 -
chore: upgrade to Rust 1.92.0 (#8860)
**Summary** - Upgrade Rust toolchain used by CI to 1.92.0. - Address new clippy `derivable_impls` warnings by deriving `Default` for enums across protocol, core, backend openapi models, and windows-sandbox setup. - Tidy up related test/config behavior (originator header handling, env override cleanup) and remove a now-unused assignment in TUI/TUI2 render layout. **Testing** - `just fmt` - `just fix -p codex-tui` - `just fix -p codex-tui2` - `just fix -p codex-windows-sandbox` - `cargo test -p codex-tui` - `cargo test -p codex-tui2` - `cargo test -p codex-windows-sandbox` - `cargo test -p codex-core --test all` - `cargo test -p codex-app-server --test all` - `cargo test -p codex-mcp-server --test all` - `cargo test --all-features`
viyatb-oai ·
2026-01-16 11:12:52 -08:00 -
jif-oai ·
2026-01-16 18:33:14 +01:00 -
Turn-state sticky routing per turn (#9332)
- capture the header from SSE/WS handshakes, store it per ModelClientSession using `Oncelock`, echo it on turn-scoped requests, and add SSE+WS integration tests for within-turn persistence + cross-turn reset. - keep `x-codex-turn-state` sticky within a user turn to maintain routing continuity for retries/tool follow-ups.
Ahmed Ibrahim ·
2026-01-16 09:30:11 -08:00 -
add codex cloud list (#9324)
for listing cloud tasks.
Jeremy Rose ·
2026-01-16 08:56:38 -08:00 -
Made
codex exec resume --lastconsistent withcodex resume --last(#9352)PR #9245 made `codex resume --last` honor cwd, but I forgot to make the same change for `codex exec resume --last`. This PR fixes the inconsistency. This addresses #8700
Eric Traut ·
2026-01-16 08:53:47 -08:00 -
[device-auth] Add device code auth as a standalone option when headless environment is detected. (#9333)
Matthew Zeng ·
2026-01-16 08:35:03 -08:00 -
jif-oai ·
2026-01-16 17:24:41 +01:00 -
chore: close pipe on non-pty processes (#9369)
Closing the STDIN of piped process when starting them to avoid commands like `rg` to wait for content on STDIN and hangs for ever
jif-oai ·
2026-01-16 15:54:32 +01:00 -
jif-oai ·
2026-01-16 15:12:41 +01:00 -
jif-oai ·
2026-01-16 13:52:16 +00:00 -
jif-oai ·
2026-01-16 12:05:04 +01:00 -
feat: run user commands under user snapshot (#9357)
The initial goal is for user snapshots to have access to aliases etc
jif-oai ·
2026-01-16 11:49:28 +01:00 -
feat: propagate approval request of unsubscribed threads (#9232)
A thread can now be spawned by another thread. In order to process the approval requests of such sub-threads, we need to detect those event and show them in the TUI. This is a temporary solution while the UX is being figured out. This PR should be reverted once done
jif-oai ·
2026-01-16 11:23:01 +01:00 -
rename model turn to sampling request (#9336)
We have two type of turns now: model and user turns. It's always confusing to refer to either. Model turn is basically a sampling request.
Ahmed Ibrahim ·
2026-01-16 10:06:24 +01:00 -
Fix token estimate during compaction (#9337)
This addresses #9287
Eric Traut ·
2026-01-15 19:48:11 -08:00 -
Michael Bolin ·
2026-01-15 18:33:11 -08:00 -
fix(tui): only show 'Worked for' separator when actual work was performed (#8958)
Fixes #7919. This PR addresses a TUI display bug where the "Worked for" separator would appear prematurely during the planning stage. **Changes:** - Added `had_work_activity` flag to `ChatWidget` to track if actual work (exec commands, MCP tool calls, patches) was performed in the current turn. - Updated `handle_streaming_delta` to only display the `FinalMessageSeparator` if both `needs_final_message_separator` AND `had_work_activity` are true. - Updated `handle_exec_end_now`, `handle_patch_apply_end_now`, and `handle_mcp_end_now` to set `had_work_activity = true`. **Verification:** - Ran `cargo test -p codex-tui` to ensure no regressions. - Manual verification confirms the separator now only appears after actual work is completed. --------- Co-authored-by: Josh McKinney <joshka@openai.com>
Thanh Nguyen ·
2026-01-16 01:41:43 +00:00 -
chore(windows) Enable Powershell UTF8 feature (#9195)
## Summary We've received a lot of positive feedback about this feature, so we're going to enable it by default.
Dylan Hurd ·
2026-01-16 01:29:12 +00:00