Cannot update codex

Resolved 💬 5 comments Opened Oct 9, 2025 by vrazdalovschi Closed Dec 23, 2025

What version of Codex is running?

codex-cli 0.45.0

Which model were you using?

_No response_

What platform is your computer?

Darwin 25.0.0 arm64 arm

What steps can reproduce the bug?

npm install -g @openai/codex@latest

What is the expected behavior?

Update to happen

What do you see instead?

npm error code ENOTEMPTY
npm error syscall rename
npm error path /Users/x/.local/share/mise/installs/node/23.5.0/lib/node_modules/@openai/codex
npm error dest /Users/x/.local/share/mise/installs/node/23.5.0/lib/node_modules/@openai/.codex-AMaxlMcI
npm error errno -66
npm error ENOTEMPTY: directory not empty, rename '/Users/x/.local/share/mise/installs/node/23.5.0/lib/node_modules/@openai/codex' -> '/Users/x/.local/share/mise/installs/node/23.5.0/lib/node_modules/@openai/.codex-AMaxlMcI'
npm error A complete log of this run can be found in: /Users/x/.npm/_logs/2025-10-09T20_30_00_088Z-debug-0.log
````


The verbose log:

0 verbose cli /Users/X/.local/share/mise/installs/node/23.5.0/bin/node /Users/X/.local/share/mise/installs/node/23.5.0/bin/npm
1 info using npm@11.6.1
2 info using node@v23.5.0
3 silly config load:file:/Users/X/.local/share/mise/installs/node/23.5.0/lib/node_modules/npm/npmrc
4 silly config load:file:/Users/X/.npmrc
5 silly config load:file:/Users/X/.local/share/mise/installs/node/23.5.0/etc/npmrc
6 verbose title npm install @openai/codex@latest
7 verbose argv "install" "--global" "@openai/codex@latest"
8 verbose logfile logs-max:10 dir:/Users/X/.npm/_logs/2025-10-09T20_33_44_887Z-
9 verbose logfile /Users/X/.npm/_logs/2025-10-09T20_33_44_887Z-debug-0.log
10 silly packumentCache heap:4345298944 maxSize:1086324736 maxEntrySize:543162368
11 silly logfile start cleaning logs, removing 1 files
12 silly logfile done cleaning log files
13 silly packumentCache corgi:https://registry.npmjs.org/@openai%2fcodex cache-miss
14 http cache https://registry.npmjs.org/@openai%2fcodex 8ms (cache hit)
15 silly packumentCache corgi:https://registry.npmjs.org/@openai%2fcodex set size:124408 disposed:false
16 silly idealTree buildDeps
17 silly fetch manifest @openai/codex@0.46.0
18 silly packumentCache full:https://registry.npmjs.org/@openai%2fcodex cache-miss
19 http cache https://registry.npmjs.org/@openai%2fcodex 2ms (cache hit)
20 silly packumentCache full:https://registry.npmjs.org/@openai%2fcodex set size:290493 disposed:false
21 silly placeDep ROOT @openai/codex@0.46.0 OK for: want: 0.46.0
22 silly reify mark retired [
22 silly reify '/Users/X/.local/share/mise/installs/node/23.5.0/lib/node_modules/@openai/codex',
22 silly reify '/Users/X/.local/share/mise/installs/node/23.5.0/bin/codex'
22 silly reify ]
23 silly reify moves {
23 silly reify '/Users/X/.local/share/mise/installs/node/23.5.0/lib/node_modules/@openai/codex': '/Users/X/.local/share/mise/installs/node/23.5.0/lib/node_modules/@openai/.codex-AMaxlMcI',
23 silly reify '/Users/X/.local/share/mise/installs/node/23.5.0/bin/codex': '/Users/X/.local/share/mise/installs/node/23.5.0/bin/.codex-jyYcDxg0'
23 silly reify }
24 verbose stack Error: ENOTEMPTY: directory not empty, rename '/Users/X/.local/share/mise/installs/node/23.5.0/lib/node_modules/@openai/codex' -> '/Users/X/.local/share/mise/installs/node/23.5.0/lib/node_modules/@openai/.codex-AMaxlMcI'
24 verbose stack at async Object.rename (node:internal/fs/promises:784:10)
24 verbose stack at async moveFile (/Users/X/.local/share/mise/installs/node/23.5.0/lib/node_modules/npm/node_modules/@npmcli/fs/lib/move-file.js:30:5)
24 verbose stack at async Promise.allSettled (index 0)
24 verbose stack at async [reifyPackages] (/Users/X/.local/share/mise/installs/node/23.5.0/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/reify.js:326:11)
24 verbose stack at async Arborist.reify (/Users/X/.local/share/mise/installs/node/23.5.0/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/reify.js:128:5)
24 verbose stack at async Install.exec (/Users/X/.local/share/mise/installs/node/23.5.0/lib/node_modules/npm/lib/commands/install.js:150:5)
24 verbose stack at async Npm.exec (/Users/X/.local/share/mise/installs/node/23.5.0/lib/node_modules/npm/lib/npm.js:208:9)
24 verbose stack at async module.exports (/Users/X/.local/share/mise/installs/node/23.5.0/lib/node_modules/npm/lib/cli/entry.js:67:5)
25 error code ENOTEMPTY
26 error syscall rename
27 error path /Users/X/.local/share/mise/installs/node/23.5.0/lib/node_modules/@openai/codex
28 error dest /Users/X/.local/share/mise/installs/node/23.5.0/lib/node_modules/@openai/.codex-AMaxlMcI
29 error errno -66
30 error ENOTEMPTY: directory not empty, rename '/Users/X/.local/share/mise/installs/node/23.5.0/lib/node_modules/@openai/codex' -> '/Users/X/.local/share/mise/installs/node/23.5.0/lib/node_modules/@openai/.codex-AMaxlMcI'
31 silly unfinished npm timer reify 1760042025144
32 silly unfinished npm timer reify:retireShallow 1760042025173
33 verbose cwd /Users/X
34 verbose os Darwin 25.0.0
35 verbose node v23.5.0
36 verbose npm v11.6.1
37 verbose exit -66
38 verbose code -66
39 error A complete log of this run can be found in: /Users/X/.npm/_logs/2025-10-09T20_33_44_887Z-debug-0.log


### Additional information

It happens for sure for me from version 0.35+. To update, I have to remove, then I reinstall. So, I'm doing:

rm -d -r /Users/X/.local/share/mise/installs/node/23.5.0/lib/node_modules/@openai/codex
npm install -g @openai/codex@latest

it's the only way I could update codex. Other competitors tools like gemini and claude do autoupdate fine.

View original on GitHub ↗

This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗