Source builds show update prompts because version is treated as upgradeable
Resolved 💬 5 comments Opened Apr 8, 2026 by vegerot Closed Apr 9, 2026
💡 Likely answer: A maintainer (github-actions[bot], contributor)
responded on this thread — see the highlighted reply below.
Summary
When Codex is run from a source build, the binary version can be 0.0.0. The update-check path treats that as a normal released version, so startup and popup update prompts may appear even though there is no upgrade path from a source build.
Expected behavior
If the running version is a source-build sentinel like 0.0.0, Codex should skip the update prompt logic entirely.
Actual behavior
Codex still evaluates update availability and may show an upgrade prompt.
Reproduction
- Build or run Codex from source so the runtime version resolves to
0.0.0. - Leave update checks enabled.
- Start the TUI or trigger the popup update path.
- Observe that Codex can report a newer version and prompt for upgrade.
Suspected root cause
The update-check entry points compare versions without first treating 0.0.0 as a non-released source build. The guard likely belongs in the shared update-path helpers so both startup checks and popup checks short-circuit consistently.
Affected area
codex-rs/tui/src/updates.rs
5 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
@etraut-openai I have already fixed this locally and pushed the fix to my fork.
Branch: https://github.com/vegerot/codex/tree/mchcopl/bugfixes-skills-symlink-source-build
Relevant commit in that branch: https://github.com/openai/codex/commit/8b59e89e46196b40182267854af6fa032a60da69 (
fix: Skip update prompt for source builds)This branch contains a change that skips update prompts when the running Codex version is the source-build sentinel
0.0.0. If this approach looks acceptable, please merge the branch or cherry-pick the fix commit.Thanks for the bug report. This will be addressed in the next release.
@Oreoxp @etraut-openai Thanks! I'm a little disappointed that the fix seems to be a copy of my patch minus the tests and attribution 😢
@vegerot, sorry, I didn't even look at your branch. I just asked Codex to diagnose and fix the bug, and it did. Then I reviewed the change to make sure I agreed with it. I presume you did roughly the same. I ended up deleting the test case that Codex wrote because it didn't add much value.