Standalone installer/updater never prunes old releases in $CODEX_HOME/packages/standalone/releases (3.8 GB after 12 updates)

Open 💬 1 comment Opened Jul 15, 2026 by 15230745073

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 through standalone\current only;
  • browser-extension native-host registrations (chrome-native-hosts-v2.json) point at the desktop app runtime copy (plugins\.plugin-appserver\codex.exe), not at packages\;
  • 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.sh managed 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).

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗