Standalone installer/updater never prunes old releases in $CODEX_HOME/packages/standalone/releases (3.8 GB after 12 updates)
What happened
On a Windows standalone install (install.ps1), every update installs a new release directory under $CODEX_HOME\packages\standalone\releases\ and repoints the current junction — but superseded releases are never removed. On this machine 12 releases had accumulated (0.134.0 through 0.144.1), ~3.8 GB total:
$CODEX_HOME\packages\standalone\
current -> releases\0.144.1-x86_64-pc-windows-msvc (junction)
install.lock
releases\
0.134.0-x86_64-pc-windows-msvc\
0.135.0-x86_64-pc-windows-msvc\
... (10 in total superseded) ...
0.143.0-x86_64-pc-windows-msvc\
0.144.1-x86_64-pc-windows-msvc\
Each release dir carries bin\codex.exe (~341 MB) + bin\codex-code-mode-host.exe (~54 MB), so retention grows ~400 MB per update with no cleanup mechanism I could find.
Nothing references the superseded directories after an update:
- the PATH launcher (
%LOCALAPPDATA%\Programs\OpenAI\Codex\bin) is a junction chain that resolves throughstandalone\currentonly; - browser-extension native-host registrations (
chrome-native-hosts-v2.json) point at the desktop app runtime copy (plugins\.plugin-appserver\codex.exe), not atpackages\; - the desktop app bundles its own backend and does not use
packages\either.
Deleting the 10 superseded directories manually reclaimed ~3 GB with no observed breakage (codex --version and the PATH junction chain unaffected).
What I expected
codex update (or the installer) to prune superseded releases — e.g. keep current plus one previous for rollback — or an explicit GC/prune command.
Environment
- Windows 11 Pro for Workstations (10.0.26200)
- codex-cli 0.144.1, standalone install via
install.ps1 - Possibly also applies to
install.shmanaged installs on macOS/Linux (not verified here)
For triage context, similar unbounded-local-growth reports in other components: #30335 (Crashpad), #27789 (code_sign_clone), #29994 (marketplace clones).
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗