Windows CLI updater offers 0.151.0 but npm latest resolves to 0.149.0
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 125k
- Forks
- 19.4k
- PR merge metrics
- PR metrics pending
Description
Summary
The in-product updater advertises 0.149.0 -> 0.151.0 on Windows, but its npm command resolves back to 0.149.0. The update then reports success and the same prompt appears again on the next launch.
Reproduction
- Install/run Codex CLI
0.149.0globally with npm on Windows. - Accept the in-product update prompt for
0.151.0. - The updater runs
npm install -g @openai/codex. - Restart Codex.
Actual result
codex --versionremainscodex-cli 0.149.0.npm ls -g @openai/codex --depth=0reports@openai/codex@0.149.0.- npm's debug log shows the updater requested
@openai/codex@*and resolved/downloaded0.149.0from the cache/registry. npm view @openai/codex@0.151.0 versionreturnsE404 No match found for version 0.151.0.npm view @openai/codex dist-tags --jsonreportslatest: 0.149.0; there is no Windows 0.151 tag.
A secondary Windows cleanup warning is also emitted:
EPERM: operation not permitted, unlink ...codex-code-mode-host.exe
The updater still prints Update ran successfully! Please restart Codex.
Expected result
Do not offer 0.151.0 through the CLI updater until its npm package/tag is installable, or make the updater use a release channel that actually resolves the advertised version. On Windows, a cleanup failure should not be presented as a successful update when the active package version did not change.
Environment
- Windows 11
- npm 11.16.0
- Node.js 24.18.0
- Codex CLI installed globally with npm
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at the Windows CLI updater entry point and trace how it selects the advertised version and invokes npm. Reproduce the issue with the listed npm commands and inspect the release metadata and Windows cleanup path. Done means an unavailable npm version is not offered, and a failed or unchanged update is not reported as successful.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- node.js, rust
- Domain
- cli, release
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100