Instalar y actualizar Codex CLI: Mac, Linux, Windows
Instalar la CLI de OpenAI Codex es un comando por plataforma – curl -fsSL https://chatgpt.com/codex/install.sh | sh en macOS y Linux, powershell -ExecutionPolicy ByPass -c "irm https://chatgpt.com/codex/install.ps1 | iex" en Windows – con npm y Homebrew como alternativas compatibles, y actualizar es codex update, que reconoce las instalaciones por script, npm y Homebrew y ejecuta la actualización de ese canal.1411 La parte que la mayoría de las páginas omite viene después del primer comando: cuál de las cinco rutas de instalación elegir, cómo fijar una versión cuando una publicación rompe algo, por qué el paquete de winget va de días a semanas por detrás de npm y qué deja una desinstalación en ~/.codex. Esta página es esa referencia, una tabla por tarea, actualizada a la v0.163.0 (15 de octubre de 2026).9
Actualizado el 15 de octubre de 2026 para la v0.163.0. Cuatro cosas han cambiado desde la versión de septiembre de esta página. El índice de winget se movió: tras un verano en el que sus solicitudes de manifiesto pasaron semanas en espera, las doce de la 0.156.0 a la 0.161.0 se fusionaron en menos de un día desde su apertura, pero las solicitudes de la 0.162.0 y la 0.162.1 esperan desde el 8 y el 9 de octubre, así que el 15 de octubre winget iba tres publicaciones por detrás de npm, frente a las catorce (de la 0.147.0 a la 0.153.4) del 6 de septiembre.310 Las publicaciones para Windows incluyen un install.ps1 firmado (su comprobación SHA-256 es anterior; la v0.162.0 la corrigió en Windows PowerShell).18 Windows también ganó una tercera implementación de sandbox, Microsoft Execution Containers, con los dos modos de septiembre como respaldo.8 Y el servidor en segundo plano que Codex inicia ahora por defecto en las sesiones interactivas que cumplen los requisitos ejecuta su propio actualizador, que en instalaciones por script más antiguas puede mover el propio paquete de la CLI.20 Cada referencia de instalación, actualización y fijación de versión de abajo se volvió a leer el 15 de octubre; la lectura de codex doctor es de la 0.153.4.910
TL;DR
- El instalador independiente es la ruta que OpenAI pone en primer lugar, tanto en el README como en la documentación de la CLI, con npm y Homebrew presentados como alternativas («you can also install» en la documentación de la CLI, «can also be installed via» en el README): el script
install.shen macOS y Linux, el scriptinstall.ps1en Windows. Descarga el binario compilado, así que no necesita Node.111 - npm y Homebrew son alternativas compatibles.
npm install -g @openai/codexfija versión con una especificación de paquete normal (@<version>);brew install --cask codexestaba, al escribir esto, en la misma 0.163.0 que npm; el cask se actualizó trece minutos después de la publicación.1210 - winget funciona, con días o semanas de retraso. OpenAI publica el paquete
OpenAI.Codex. Tras un verano en el que sus pull requests de manifiesto pasaron semanas sin fusionar, los doce de la 0.156.0 (22 de septiembre de 2026) a la 0.161.0 (7 de octubre) se fusionaron cada uno en menos de un día desde su apertura; después, las solicitudes de la 0.162.0 y la 0.162.1 se estancaron, abiertas desde el 8 y el 9 de octubre. El 15 de octubre, la versión instalable más reciente era la 0.161.0, frente a la 0.163.0 en npm, tres publicaciones estables por detrás, y la solicitud de la 0.163.0 también estaba abierta.310 codex updatecubre las instalaciones por script, npm y Homebrew (desde la v0.128.0): reutiliza la detección del canal de instalación que la TUI ya tiene y ejecuta la actualización correspondiente. Una instalación por winget no es un canal que reconozca; esa se actualiza conwinget upgrade OpenAI.Codex. Los equivalentes manuales para el resto son volver a ejecutar el instalador,npm install -g @openai/codex@latestobrew upgrade --cask codex.411- El servidor en segundo plano ejecuta un actualizador, y en instalaciones por script más antiguas puede mover tu CLI. Desde la v0.157.0 (25 de septiembre de 2026, UTC), Codex inicia por defecto un servidor en segundo plano gestionado en las sesiones interactivas que cumplen los requisitos. Cuando el instalador seleccionó el canal
latest, ese servidor busca actualizaciones cinco minutos después de arrancar y luego cada hora, ejecutando el instalador; un daemon nuevo vive bajo~/.codex/packages/app-server-daemon, pero un daemon iniciado por primera vez desde una instalación por script más antigua sigue usando~/.codex/packages/standalone/current, el propio paquete de la CLI. El interruptor es"updater": { "autoUpdateEnabled": false }en~/.codex/app-server-daemon/settings.json, aplicado concodex app-server daemon restart.2012 - Fija versión con
--release <version>eninstall.sh,$env:CODEX_RELEASEantes de la línea deinstall.ps1, o@<version>en npm. El cask de Homebrew sigue una única versión actual y no puede fijar.212 - Desinstalar el paquete no elimina tu estado, pero en una instalación por script,
rm -rf ~/.codextambién elimina la propia CLI, porque el instalador guarda sus versiones bajo~/.codex/packages/standalone.12
¿Cómo instalo Codex CLI?
Cuatro rutas, en el orden en que las presenta la propia documentación de OpenAI,111 más winget en Windows, que OpenAI no documenta:3
# Standalone installer, no Node required (macOS, Linux, WSL) -- the route OpenAI lists first
curl -fsSL https://chatgpt.com/codex/install.sh | sh
# Windows PowerShell
powershell -ExecutionPolicy ByPass -c "irm https://chatgpt.com/codex/install.ps1 | iex"
# npm (needs Node.js 16+; pins with a plain @version spec)
npm install -g @openai/codex
# Homebrew (macOS, Linux)
brew install --cask codex
# winget (Windows; lags npm, see the platform section)
winget install OpenAI.Codex
Después confirma que llegó e inicia sesión:
codex --version # codex-cli 0.163.0
codex login # ChatGPT account (recommended) or an API key
En una primera instalación por script, el bloque del perfil solo surte efecto en shells nuevas. Si codex no se encuentra en la terminal desde la que instalaste, ejecuta ahí export PATH="$HOME/.local/bin:$PATH" o abre una nueva; el instalador imprime esas mismas dos líneas al terminar («Current terminal» y «Future terminals»).12
¿Prefieres un binario sin más? Cada publicación en GitHub incluye tarballs por plataforma (codex-aarch64-apple-darwin.tar.gz, codex-x86_64-apple-darwin.tar.gz, codex-x86_64-unknown-linux-musl.tar.gz, codex-aarch64-unknown-linux-musl.tar.gz), y desde la v0.106.0 el mismo install.sh se adjunta a cada publicación como recurso. Cada archivo contiene una sola entrada con la plataforma en el nombre; renómbrala a codex tras extraerla.15 La página de publicaciones ha crecido alrededor de esos tarballs: hermanos .zst y .dmg de macOS de cada binario; paquetes codex-package-<target>.tar.gz con el binario, el auxiliar codex-code-mode-host y ripgrep, que son lo que descargan el instalador y el cask de Homebrew; los binarios codex-app-server y codex-responses-api-proxy; y wheels de Python openai_codex_cli_bin, que son el runtime fijado del SDK de Python de OpenAI y no una vía pip hacia la CLI.512
El instalador descarga desde la infraestructura de publicación alojada por OpenAI: chatgpt.com/codex/install.sh redirige a releases.openai.com, un cambio que llegó en la v0.146.0, con GitHub Releases como host de respaldo.6 En una red que bloquea o limita el host de artefactos de OpenAI pero permite GitHub, obtén el script desde el recurso de la publicación y dile que descargue también el binario desde GitHub:112
curl -fsSL https://github.com/openai/codex/releases/latest/download/install.sh | CODEX_INSTALLER_USE_RELEASES_OPENAI_COM=false sh
La variable va en el lado de sh de la tubería. La forma VAR=value curl ... | sh aplica la variable solo a curl, así que el script nunca la ve y se queda en silencio con el valor por defecto. En PowerShell, define $env:CODEX_INSTALLER_USE_RELEASES_OPENAI_COM = 'false' antes de ejecutar la línea de instalación.
¿Qué ruta deberías elegir?
| Estás en | Usa | Por qué |
|---|---|---|
| macOS o Linux | el script de instalación | La ruta que la documentación de OpenAI menciona primero; descarga el binario, sin Node en la máquina11 |
| Windows | el script de PowerShell | PowerShell nativo con el sandbox de Windows; WSL es opcional811 |
| Cualquier máquina donde fijes versiones en scripts | npm install -g @openai/codex@<version> |
Fija como especificación de paquete, así que la versión vive en tu Dockerfile o script de aprovisionamiento en lugar de en un flag10 |
| macOS o Linux donde Homebrew ya gestiona todo lo demás | brew install --cask codex |
La misma versión que npm el 15 de octubre (el cask se actualizó trece minutos después de la publicación), sin dependencia de Node, brew upgrade la mantiene al día2 |
| Windows, gestionado por paquetes | winget install OpenAI.Codex |
Si aceptas ir por detrás de npm: tres publicaciones el 15 de octubre3 |
¿Qué plataformas admite Codex?
| Plataforma | Estado |
|---|---|
| macOS, Apple silicon e Intel | Compatible; binarios para ambos1 |
| Linux, x86_64 y arm64 | Compatible; binarios para ambos1 |
| Windows 11 | Base recomendada; MXC llegó con 24H2 (build 26100.9278) y 25H2 (build 26200.9278) y se está desplegando de forma gradual, así que pruébalo con la comprobación de un solo comando8 |
| Windows 10, versión 1809 o posterior | Mejor esfuerzo (requiere compatibilidad de consola ConPTY)8 |
| Windows 10 más antiguo | No recomendado: faltan componentes de consola8 |
| WSL2 | Opcional; la página de WSL de OpenAI ejecuta el mismo script de instalación desde la shell de WSL14 |
En Windows, Codex se ejecuta de forma nativa en PowerShell con un sandbox de Windows, y desde octubre de 2026 hay tres implementaciones. La más reciente es Microsoft Execution Containers (MXC), el aislamiento de procesos que Microsoft introdujo en Windows 11 24H2 y 25H2: la app de escritorio lo prefiere para las cuentas de consumidor cuando el dispositivo lo admite, y la CLI lo usa cuando se define prefer_mxc = true bajo [features], con los modos heredados como respaldo, o cuando [windows] sandbox = "mxc" lo selecciona de forma explícita, en cuyo caso falla en lugar de recurrir al respaldo si falta la capacidad o una directiva lo bloquea; desde la v0.162.0, una prueba de un solo comando (codex -c windows.sandbox=mxc sandbox ..., salida esperada MXC_OK) lo prueba sin cambiar la selección guardada. Los dos modos anteriores son ahora los respaldos heredados. elevated es el preferido: usa usuarios de sandbox dedicados con privilegios reducidos, límites de permisos en el sistema de archivos, reglas de firewall y cambios de directiva local, y requiere una configuración aprobada por un administrador. unelevated ejecuta los comandos con un token de Windows restringido derivado de tu usuario y límites del sistema de archivos basados en ACL, con un aislamiento de red más débil.8 El respaldo se elige en config.toml:
[windows]
sandbox = "elevated" # or "unelevated"; "mxc" selects the containers explicitly
La recomendación de OpenAI es usar el sandbox nativo por defecto y elegir WSL cuando necesites herramientas nativas de Linux, cuando tu flujo de trabajo ya viva en WSL2, o cuando ninguna de las implementaciones de sandbox nativas de Windows cumpla tus requisitos.8 Una distinción que conviene tener presente: la configuración de Windows da por hecho que winget está en la máquina para sus propios pasos de configuración; eso es distinto de instalar Codex a través de winget. OpenAI sí publica ese paquete, el flujo de publicación tiene un job winget que abre un pull request de manifiesto en microsoft/winget-pkgs para las publicaciones estables, y el estancamiento veraniego del índice terminó, aunque no para siempre. Las fechas aquí están en UTC. Las solicitudes de la 0.148.0 a la 0.152.0, abiertas entre el 18 de agosto y el 1 de septiembre, se fusionaron el 11 de septiembre (la 0.151.0 el 30 de septiembre y la 0.149.1 el 1 de octubre); la solicitud de la 0.147.0 se cerró sin fusionar, igual que el envío de la 0.154.0 hecho por un miembro de la comunidad, y el flujo de OpenAI no abrió ninguna para la 0.152.1 ni de la 0.153.x a la 0.155.x; de la 0.156.0 (22 de septiembre) a la 0.161.0 (7 de octubre), doce manifiestos seguidos se fusionaron en menos de un día desde su apertura; después, las solicitudes de la 0.162.0 y la 0.162.1 se estancaron, abiertas desde el 8 y el 9 de octubre. El 15 de octubre el índice tenía 138 versiones, la más reciente la 0.161.0, tres publicaciones estables por detrás de npm, y la solicitud de la 0.163.0 también estaba abierta. Nada está roto en la CLI; el paquete va de días a semanas por detrás.38
Node.js solo es un requisito para la ruta de npm. Los scripts de instalación descargan el binario compilado, y el cask de Homebrew no declara dependencias.12
¿Cómo actualizo Codex CLI?
La CLI que ejecutas no se actualiza sola, salvo que un actualizador del servidor en segundo plano gestione el mismo paquete (instalaciones por script más antiguas cuyo servidor se inició desde packages/standalone, más abajo). La TUI detecta una publicación más reciente y ofrece el comando de tu canal de instalación; ejecutarlo depende de ti, y el integrado cubre las instalaciones por script, npm y Homebrew.4 La comprobación al arrancar es en sí una clave de configuración: check_for_update_on_startup = false en config.toml, que la referencia describe como «Check for Codex updates on startup (set to false only when updates are centrally managed)»; las flotas que gestionan las actualizaciones de forma centralizada definen features.in_app_updates = false en requirements.toml.16
codex --version # what you run now
npm view @openai/codex version # newest published
codex update # built-in, v0.128.0+; detects your install channel
codex update llegó con la v0.128.0 el 30 de abril de 2026; el pull request que lo añadió reutilizó la detección del canal de instalación y el ejecutor de actualizaciones que la TUI ya tenía para sus avisos de actualización. El mapa de canales cubre npm (más las variantes de bun, pnpm y Vite+), Homebrew y el instalador independiente en Unix y Windows; una instalación por winget no está en él, así que un Codex instalado con winget solo se actualiza mediante winget upgrade OpenAI.Codex. Leído de nuevo el 15 de octubre, el mapa tiene una entrada nueva, una acción de daemon que sustituye el servidor local en segundo plano una vez restaurada la terminal, y sus comandos independientes ahora ejecutan el instalador con CODEX_NON_INTERACTIVE=1; winget sigue ausente.4 Los equivalentes manuales, si los prefieres o estás preparando la imagen de una máquina:
curl -fsSL https://chatgpt.com/codex/install.sh | sh # standalone: re-run the installer
npm install -g @openai/codex@latest # npm
brew upgrade --cask codex # Homebrew
winget upgrade OpenAI.Codex # winget (to whatever winget has)
irm https://chatgpt.com/codex/install.ps1 | iex # standalone on Windows: re-run the installer
Las publicaciones salen en una línea estable rápida – de la 0.160.0 a la 0.163.0, seis publicaciones estables, aparecieron entre el 1 y el 15 de octubre de 2026 – así que la distancia entre «lo que uso» y «la última» suele ser una semana, no un trimestre.9
El servidor en segundo plano se actualiza solo
El servidor en segundo plano es lo único que descarga binarios nuevos según un calendario. Desde la v0.157.0 (25 de septiembre de 2026, UTC), Codex inicia por defecto un servidor en segundo plano gestionado en las sesiones interactivas que cumplen los requisitos, y cuando el instalador seleccionó el canal estable latest, ese servidor lanza un bucle actualizador independiente: busca actualizaciones cinco minutos después de arrancar y luego cada hora, ejecutando el instalador cada vez, y un servidor en marcha se reinicia con el binario nuevo. Un daemon instalado con la 0.163.0 vive en su propio paquete, ~/.codex/packages/app-server-daemon (el modo CODEX_INSTALL_DAEMON_ONLY=1 del instalador, que deja en paz el comando de la CLI del usuario y la configuración de su shell), pero un daemon iniciado por primera vez desde una instalación por script más antigua sigue usando ~/.codex/packages/standalone/current, y sus actualizaciones programadas mueven ese paquete, que es la CLI que escribes (en instalaciones anteriores al marcador de canal del instalador, solo después de la siguiente instalación latest, que es lo que hace codex update; hasta entonces el daemon sirve sin actualizarse). Una versión fijada sigue fijada: el instalador escribe un marcador auto-update-version solo en una instalación latest y lo elimina en una publicación explícita, y su propio comentario enuncia la regla: «Scheduled updates still require the selected release to follow the latest channel.» El interruptor por usuario es "updater": { "autoUpdateEnabled": false } en ~/.codex/app-server-daemon/settings.json, con un updateIntervalMinutes al lado; codex app-server daemon restart aplica el estado de activación, y un intervalo modificado surte efecto en la siguiente espera; codex app-server daemon stop detiene el servidor (una solicitud de terminación ordenada y después una forzada pasado el margen de gracia; el bucle actualizador es un proceso aparte con su propio archivo pid, así que compruébalo después), /daemon en la TUI lo reinicia (v0.163.0), y esas actualizaciones obedecen la directiva de red de la aplicación (v0.163.0). Un codex app-server daemon update explícito selecciona la última publicación estable incluso con las actualizaciones automáticas desactivadas y, cuando el instalador y la publicación lo admitan, traslada un daemon heredado a su propia raíz de paquete; también devuelve un paquete fijado a la elegibilidad de actualización de producción (el ajuste de actualización automática se conserva) y reinicia un servidor en marcha, lo que puede interrumpir trabajo activo o en cola; un servidor detenido sigue detenido. El propio README del daemon lo califica de experimental.2012
¿Cómo instalo una versión concreta?
npm y el script de instalación fijan ambos por versión; Homebrew no:212
npm install -g @openai/[email protected] # npm: exact version
curl -fsSL https://chatgpt.com/codex/install.sh | sh -s -- --release 0.162.1 # script: --release flag
curl -fsSL https://chatgpt.com/codex/install.sh | CODEX_RELEASE=0.162.1 sh # script: env var, on the sh side
winget install OpenAI.Codex --version 0.161.0 # winget: only what it has
codex --version # verify the rollback took
Fíjate en la posición en la forma con variable de entorno: CODEX_RELEASE=0.162.1 tiene que ir antes de sh, después de la tubería. Escrita delante de curl, la variable solo se aplica a curl y el script instala latest mientras crees haber fijado versión.12 En Windows, el script de PowerShell declara $Release = $env:CODEX_RELEASE como su único parámetro y recurre a latest cuando está vacío, así que fijar versión es esa variable, definida en la misma sesión:17
$env:CODEX_RELEASE = '0.162.1'; irm https://chatgpt.com/codex/install.ps1 | iex
Bórrala después (Remove-Item Env:CODEX_RELEASE): la variable sigue definida el resto de esa sesión, y una ejecución posterior del instalador en ella, incluida la que lanza codex update, hereda la versión fijada.17
npm también tiene un dist-tag alpha para la línea de prelanzamiento (0.163.0-alpha.11 el 15 de octubre, publicada el 14 de octubre en UTC, casi dos días antes de la 0.163.0 estable); npm install -g @openai/codex@alpha lo sigue, y desde la v0.161.0 publicar una alpha más antigua o un hotfix ya no hace retroceder esa etiqueta.1021
Fijar versión es lo correcto cuando una publicación te deja bloqueado: reporta el problema, fija la última versión buena, sigue adelante. Verifica con codex --version después de cada fijación, porque una segunda instalación en otro punto de tu PATH seguirá sirviendo en silencio su propio binario. El script de instalación comprueba exactamente eso: cuando encuentra un codex gestionado por Homebrew, npm o bun ya en tu PATH, avisa «Multiple managed Codex installs can be ambiguous because PATH order decides which one runs» y se ofrece a ejecutar por ti la desinstalación correspondiente; reconoce el caso de Homebrew por los prefijos de macOS /opt/homebrew y /usr/local, solo en macOS, así que un codex de Linuxbrew no se detecta.12 codex doctor informa del mismo estado a posteriori bajo Environment.7
¿Cómo desinstalo Codex CLI?
Detén primero el servidor en segundo plano, mientras codex sigue en tu PATH, y después elimínalo por la ruta que lo instaló:
codex app-server daemon stop # first; skip if no server runs
npm uninstall -g @openai/codex
brew uninstall --cask codex
winget uninstall OpenAI.Codex
Una instalación por script no tiene gestor de paquetes al que preguntar. El instalador coloca un enlace simbólico codex en ~/.local/bin (modificable con CODEX_INSTALL_DIR) que apunta al binario dentro de ~/.codex/packages/standalone/current (current/bin/codex en las publicaciones actuales); current es a su vez un enlace simbólico hacia ~/.codex/packages/standalone/releases/, donde vive cada versión descargada. En macOS, el instalador añade un segundo enlace simbólico junto al primero, codex-code-mode-host.12 Desde la v0.157.0 también puede haber un servidor en segundo plano: su paquete bajo ~/.codex/packages/app-server-daemon (o, en un servidor iniciado por primera vez desde una instalación más antigua, el propio paquete standalone) y su estado bajo ~/.codex/app-server-daemon/ (settings.json, daemon.pid y daemon-updater.pid, o app-server.pid y app-server-updater.pid en un servidor que se ejecuta desde el paquete standalone, y daemon.lock).20 Detenlo primero y después elimínalo todo:
codex app-server daemon stop # the background server; its updater is a separate process
pgrep -fl "app-server" || true # what is still running
grep -H . ~/.codex/app-server-daemon/*.pid 2>/dev/null # the recorded pids, by file
El servidor se ejecuta como codex app-server --listen unix://, con --remote-control antes de --listen cuando el control remoto está activado (el argumento de escucha es solo el esquema; en la línea de comandos no aparece ninguna ruta de socket), y su actualizador como codex app-server daemon pid-update-loop; los archivos pid bajo ~/.codex/app-server-daemon/ son la prueba de qué proceso pertenece al servidor en segundo plano: daemon.pid y daemon-updater.pid en un daemon dedicado, app-server.pid y app-server-updater.pid en un servidor que se ejecuta desde el paquete standalone. stop termina el servidor, no el actualizador, que sigue despertándose en su intervalo hasta un reinicio del sistema, así que si un pid registrado ahí sigue vivo, termínalo ahora con kill <pid>; cualquier otro proceso codex app-server pertenece a otra cosa que estés ejecutando. Después elimina el resto:1220
rm -f ~/.local/bin/codex ~/.local/bin/codex-code-mode-host # the second link exists on macOS installs only
rm -rf ~/.codex/packages/standalone ~/.codex/packages/app-server-daemon # the CLI's package and the server's
rm -rf ~/.codex/app-server-daemon # the server's settings, pid files and lock
Si ~/.local/bin no estaba en tu PATH al instalar, o si el instalador encontró una instalación competidora de Homebrew, npm o bun y reescribió la entrada, el script también añadió un bloque marcado a tu perfil de shell: de # >>> Codex installer >>> a # <<< Codex installer <<< en ~/.zprofile (zsh en macOS), ~/.bash_profile (bash en macOS), ~/.zshrc (zsh en Linux), ~/.bashrc (bash en Linux) o ~/.profile (cualquier otra shell). Borra esas tres líneas para terminar.12
En Windows, install.ps1 mantiene la misma disposición bajo %USERPROFILE%\.codex\packages\standalone (o %CODEX_HOME%\packages\standalone si definiste esa variable): las versiones descargadas en releases\, una unión current que apunta a la que está en uso. Expone codex.exe a través de %LOCALAPPDATA%\Programs\OpenAI\Codex\bin (modificable con CODEX_INSTALL_DIR), que es a su vez una unión hacia current\bin, y en lugar de un bloque de perfil escribe esa ruta bin en tu PATH de usuario para futuras sesiones de PowerShell. El servidor en segundo plano guarda ahí las mismas dos carpetas, packages\app-server-daemon y app-server-daemon.1720 Detenlo, elimina el directorio standalone y las dos carpetas del servidor, luego la unión bin que ahora queda colgando, y después quita la entrada de la variable Path de usuario en Variables de entorno:17
codex app-server daemon stop # the background server; its updater is a separate process
Get-Process codex* -ErrorAction SilentlyContinue # what is still running
Get-ChildItem "$env:USERPROFILE\.codex\app-server-daemon\*.pid" -ErrorAction SilentlyContinue | ForEach-Object { "$($_.Name): $(Get-Content $_)" } # the recorded pids, by file
Aquí deciden los mismos archivos pid: si un proceso cuyo pid está registrado en %USERPROFILE%\.codex\app-server-daemon\daemon.pid o daemon-updater.pid (o app-server.pid y app-server-updater.pid en un servidor sobre el paquete standalone) sigue vivo, termínalo ahora con Stop-Process -Id <pid>; cualquier otro proceso de Codex es otra cosa que estés ejecutando. Después elimina el resto:20
Remove-Item -Recurse -Force "$env:USERPROFILE\.codex\packages\standalone" # releases plus the current junction
Remove-Item -Recurse -Force "$env:USERPROFILE\.codex\packages\app-server-daemon", "$env:USERPROFILE\.codex\app-server-daemon" -ErrorAction SilentlyContinue # the server's package and state
cmd /c rmdir "$env:LOCALAPPDATA\Programs\OpenAI\Codex\bin" # the bin junction; rmdir removes the link, not a target
codex sandbox uninstall (v0.162.0) es la limpieza aparte del sandbox heredado de Windows: elimina con privilegios de administrador las cuentas de sandbox y las reglas de red de toda la máquina, no toca el directorio home de Codex ni los directorios del sandbox, y se rechaza en otras plataformas.19
En cualquier ruta, detén primero el servidor en segundo plano si hay uno en marcha (codex app-server daemon stop) y busca ~/.codex/packages/app-server-daemon: el README del daemon dice que bootstrap copia el paquete que lo invoca en esa carpeta cuando no existe ningún paquete de daemon y que un ejecutable suelto no puede aportarlo, y aquí no se probó si el inicio automático de una instalación por Homebrew o npm la crea; si la carpeta existe, elimínala junto con ~/.codex/app-server-daemon después de la desinstalación por gestor de paquetes.20 Las desinstalaciones por gestor de paquetes de arriba no tocan ~/.codex/. El --zap de Homebrew tampoco, en la práctica: la única directiva zap del cask es rmdir: "~/.codex", y Homebrew solo aplica rmdir: a directorios que ya están vacíos.2 Ese directorio contiene config.toml, tus credenciales guardadas y cada sesión, y por eso una reinstalación retoma el inicio de sesión y el historial donde los dejaste. Elimínalo solo si de verdad quieres empezar de cero, y sabiendo lo que eso significa en una instalación por script:
rm -rf ~/.codex # discards config.toml, credentials, all sessions -- AND the CLI itself on a script install
Una reinstalación limpia que conserve tu estado es una línea en npm: npm uninstall -g @openai/codex && npm install -g @openai/codex@latest. En la ruta del script, volver a ejecutar el instalador añade la nueva versión bajo ~/.codex/packages/standalone/releases, apunta current hacia ella, deja las versiones anteriores en su sitio hasta que las elimines, y deja tu configuración en paz.12
Todo el ciclo de vida en una tabla
| Tarea | install.sh (macOS, Linux) | install.ps1 (Windows) | npm | Homebrew | winget |
|---|---|---|---|---|---|
| Instalar | curl -fsSL https://chatgpt.com/codex/install.sh \| sh |
powershell -ExecutionPolicy ByPass -c "irm https://chatgpt.com/codex/install.ps1 \| iex" |
npm install -g @openai/codex |
brew install --cask codex |
winget install OpenAI.Codex |
| Actualizar | codex update, o volver a ejecutar el script |
codex update, o volver a ejecutar el script |
codex update, o npm install -g @openai/codex@latest |
codex update, o brew upgrade --cask codex |
winget upgrade OpenAI.Codex (codex update no reconoce esta ruta) |
| Fijar versión | sh -s -- --release 0.162.1 |
$env:CODEX_RELEASE = '0.162.1' antes de la línea de instalación |
npm install -g @openai/[email protected] |
no compatible | winget install OpenAI.Codex --version 0.161.0 |
| Desinstalar | codex app-server daemon stop, luego eliminar los enlaces simbólicos de ~/.local/bin, ~/.codex/packages/standalone, ~/.codex/packages/app-server-daemon y ~/.codex/app-server-daemon |
codex app-server daemon stop, luego eliminar %USERPROFILE%\.codex\packages\standalone, las carpetas packages\app-server-daemon y app-server-daemon del servidor, la unión %LOCALAPPDATA%\Programs\OpenAI\Codex\bin y la entrada del PATH de usuario |
codex app-server daemon stop si hay un servidor en marcha, luego npm uninstall -g @openai/codex y después las carpetas del daemon si existen |
la misma detención, luego brew uninstall --cask codex (--zap no vacía un ~/.codex con contenido) y después las carpetas del daemon si existen |
la misma detención, luego winget uninstall OpenAI.Codex y después las carpetas del daemon si existen |
| Comprobar | codex --version, codex doctor |
igual | igual | igual | igual |
¿Qué comprueba codex doctor?
codex doctor es el comando que hay que ejecutar antes de reportar un error o de depurar una instalación que «ayer funcionaba». En la 0.153.4 reúne siete secciones en un solo informe – Notes, Environment (coherencia del runtime y la instalación), Configuration (estado de carga de config.toml, autenticación, MCP, directiva de sandbox), Desktop App (añadida en la v0.149.0), Updates, Connectivity y Background Server – con --summary para una vista compacta, --json para una forma legible por máquina y con datos sensibles ocultos, --all para desplegar las listas truncadas y --no-color para registros; codex doctor --help también lista --ascii en la 0.153.4; la v0.162.0 añadió al informe el modo de TUI configurado.7131522 La mayoría de los reportes de «Codex está roto» se reducen a algo que nombra en la primera pantalla: un modo de autenticación obsoleto, un config.toml que no se pudo analizar, o una segunda instalación que oculta la de tu PATH. El desglose completo, sección por sección, está en la guía.
Lo que cambia después de instalar
Lo primero con lo que tropieza una instalación nueva no es el binario. Desde la v0.149.0, la CLI se niega a arrancar con approval_policy = "untrusted", así que un config.toml copiado de una máquina más antigua necesita un cambio.13 ¿Vienes de Claude Code? El artículo de migración pone las dos configuraciones lado a lado, y el artículo sobre hooks explica qué ejecuta Codex alrededor del modelo. La guía de Codex CLI es la referencia completa: modos de sandbox y de aprobación, AGENTS.md, MCP, skills y tareas en la nube. Y si usas ambas herramientas, la página de instalación de Claude Code es la gemela de esta.
Preguntas frecuentes
¿Cómo actualizo Codex CLI a la última versión?
Ejecuta codex update (desde la v0.128.0); detecta si instalaste mediante el script, npm o Homebrew y ejecuta la actualización de ese canal. Los equivalentes manuales son volver a ejecutar el script de instalación, npm install -g @openai/codex@latest o brew upgrade --cask codex. Una instalación por winget no es un canal que codex update reconozca; para esa usa winget upgrade OpenAI.Codex.
¿Codex CLI se actualiza automáticamente?
La CLI no, con una excepción. La TUI comprueba si hay una publicación más reciente y ofrece el comando de actualización que corresponde a tu canal de instalación, y codex update (desde la v0.128.0) lo ejecuta. La excepción es el servidor en segundo plano que Codex inicia por defecto desde la v0.157.0: en el canal latest busca actualizaciones cinco minutos después de arrancar y luego cada hora, y un servidor iniciado por primera vez desde una instalación por script más antigua actualiza ~/.codex/packages/standalone, el propio paquete de la CLI, una vez que una instalación latest ha registrado el canal. Define "updater": { "autoUpdateEnabled": false } en ~/.codex/app-server-daemon/settings.json y ejecuta codex app-server daemon restart para evitarlo.
¿Cómo desinstalo Codex CLI?
Detén primero el servidor en segundo plano si hay uno en marcha (codex app-server daemon stop) y después usa la ruta que lo instaló: npm uninstall -g @openai/codex, brew uninstall --cask codex o winget uninstall OpenAI.Codex, y busca ~/.codex/packages/app-server-daemon y ~/.codex/app-server-daemon, que una desinstalación por gestor de paquetes deja atrás. En una instalación por script, haz la misma detención y después elimina el enlace simbólico ~/.local/bin/codex (y ~/.local/bin/codex-code-mode-host en macOS), el directorio ~/.codex/packages/standalone y los directorios ~/.codex/packages/app-server-daemon y ~/.codex/app-server-daemon del servidor. En Windows, la instalación por script es %USERPROFILE%\.codex\packages\standalone (más las carpetas packages\app-server-daemon y app-server-daemon del servidor), la unión %LOCALAPPDATA%\Programs\OpenAI\Codex\bin y una entrada en tu PATH de usuario; elimínalas todas. Tu configuración, credenciales y sesiones permanecen en ~/.codex/ hasta que elimines tú mismo el resto de ese directorio.
¿Cómo instalo Codex CLI en Windows?
Ejecuta powershell -ExecutionPolicy ByPass -c "irm https://chatgpt.com/codex/install.ps1 | iex". La CLI se ejecuta de forma nativa en PowerShell con un sandbox de Windows (Microsoft Execution Containers cuando defines prefer_mxc = true y el dispositivo lo admite; si no, el modo heredado que tengas configurado, elevated si no hay ninguno; seleccionar [windows] sandbox = "mxc" de forma explícita usa MXC o falla, sin respaldo); WSL2 es una opción si necesitas herramientas de Linux o si ninguna de las implementaciones de sandbox encaja, no un requisito. Windows 11 es la base recomendada. winget install OpenAI.Codex también funciona, pero va por detrás de la línea estable.
¿Necesito Node.js para instalar Codex?
Solo para la ruta de npm, y el paquete exige Node 16 o posterior. El script de instalación, el script de PowerShell y el cask de Homebrew entregan todos el binario codex compilado, así que una máquina sin Node puede ejecutar Codex.
¿Cómo compruebo qué versión de Codex tengo?
codex --version la imprime (por ejemplo, codex-cli 0.163.0). npm view @openai/codex version muestra la última versión publicada, y codex doctor informa de la ruta de instalación y de si otra copia en tu PATH la está ocultando.
-
OpenAI, README de openai/codex – la sección de instalación empieza con
curl -fsSL https://chatgpt.com/codex/install.sh | shpara macOS y Linux y la línea de PowerShellinstall.ps1para Windows, y después dice que la CLI «can also be installed via» npm (npm install -g @openai/codex) y Homebrew (brew install --cask codex); documentacurl -fsSL https://chatgpt.com/codex/install.sh | CODEX_INSTALLER_USE_RELEASES_OPENAI_COM=false shy la forma de PowerShell$env:CODEX_INSTALLER_USE_RELEASES_OPENAI_COM='false', introducidas con «To force GitHub Releases, setCODEX_INSTALLER_USE_RELEASES_OPENAI_COMtofalse(0andnoare also accepted)»; el nombre de paquete@openai/codex; binarios por plataforma para macOS (Apple silicon, x86_64) y Linux (x86_64, arm64) en GitHub Releases. Verificado el 2026-09-06 y de nuevo el 2026-10-15, cuando la sección de instalación no había cambiado salvo la frase citada en la nota 6. ↩↩↩↩↩↩↩↩↩ -
Homebrew, cask
codex– token de caskcodex, una única versión actual (0.163.0 el 2026-10-15, actualizada por el commitcodex 0.163.0a Homebrew/homebrew-cask a las 21:44:02 UTC, trece minutos después de la publicación de GitHub de las 21:30:38 UTC), un artefacto binariobin/codexcon autocompletados de shell generados a partir de él, undepends_onvacío, plataformas compatibles que incluyenx86_64_linuxyarm64_linuxjunto a las versiones de macOS, y una URL de descarga decodex-package-aarch64-apple-darwin.tar.gzen la publicación de GitHub. Verificado mediante la API de formulae y la lista de commits de homebrew-cask el 2026-10-15 (0.153.4 el 2026-09-06). La directiva zap del cask eszap rmdir: "~/.codex", y el Cask Cookbook definermdir:como rutas de directorios que se eliminan si están vacíos. ↩↩↩↩↩↩ -
Microsoft, manifiestos de winget-pkgs para
OpenAI.Codex– 138 versiones publicadas, la más reciente 0.161.0, el 2026-10-15 (119 y 0.146.1 el 2026-09-06); ningún manifiesto para 0.147.0, 0.152.1 ni de 0.153.x a 0.155.x. El paquete lo publica OpenAI:.github/workflows/rust-release.ymlen openai/codex tiene un jobwingetque envía el manifiesto conkomac(su comentario: «Adapted from the WinGet Releaser version previously used by this job»; releído el 2026-10-15). Los pull requests, según la búsqueda en el repositorio del 2026-10-15, con fechas en UTC y deoai-fork-botsalvo que se indique otra cosa: 0.147.0 (#413497) cerrado sin fusionar; de 0.148.0 (#420225) a 0.152.0 (#427090), abiertos del 18 de agosto al 1 de septiembre, fusionados el 11 de septiembre salvo 0.151.0 (#426091) el 30 de septiembre y 0.149.1 (#423060) el 1 de octubre; 0.154.0 (#435129, abierto por un miembro de la comunidad,z3oya) cerrado sin fusionar; de 0.156.0 (#439266) a 0.161.0 (#448267), doce solicitudes abiertas del 22 de septiembre al 7 de octubre, cada una fusionada el mismo día de su apertura o al siguiente; 0.162.0 (#449062), 0.162.1 (#449772) y 0.163.0 (#453561) abiertos el 2026-10-15. El README y la documentación de la CLI de OpenAI no mencionan winget. ↩↩↩↩↩ -
OpenAI, notas de la versión Codex CLI v0.128.0, 30 de abril de 2026 – «Added
codex update, configurable TUI keymaps, plan-mode nudges, action-required terminal titles, and active-turn/statuslineand/titleedits.» El pull request del comando, openai/codex #19933 (fusionado el 28 de abril de 2026), explica: «Reused the existing install-channel detection and update command runner that the TUI already uses for update prompts.» El mapa de canales escodex-rs/tui/src/update_action.rs: npm y sus hermanos bun, pnpm y Vite+, Homebrew y el instalador independiente (Unix y Windows); sin variante de winget (leído el 2026-09-06). Releído el 2026-10-15: el enum ganóDaemon(DaemonUpdateSource)(«Replace the local daemon after restoring the terminal»), y los comandos independientes soncurl -fsSL https://chatgpt.com/codex/install.sh | CODEX_NON_INTERACTIVE=1 shy$env:CODEX_NON_INTERACTIVE=1; irm https://chatgpt.com/codex/install.ps1 | iex; sigue sin variante de winget. ↩↩↩↩ -
OpenAI, notas de la versión Codex CLI v0.106.0, 26 de febrero de 2026 – «Added a direct install script for macOS and Linux and publish it as a GitHub release asset, using the existing platform payload (including
codexandrg)»;install.shse adjunta a cada publicación desde entonces. La publicación rust-v0.163.0 (recursos listados mediante la API de GitHub Releases, 2026-10-15) incluyeinstall.sheinstall.ps1, loscodex-<target>.tar.gzpor plataforma, archivos.zsty.dmgde macOS, paquetescodex-package-<target>.tar.gzconcodex-package_SHA256SUMS, binarioscodex-app-server-*ycodex-responses-api-proxy-*, tarballscodex-npm-*.tgzy seis archivosopenai_codex_cli_bin-0.163.0-*.whl; PyPI describeopenai-codex-cli-bincomo «Pinned Codex CLI runtime for the Python SDK». El tarball de macOS arm64 descargado el 2026-10-15 contiene la única entradacodex-aarch64-apple-darwin. ↩↩ -
OpenAI, notas de la versión Codex CLI v0.146.0, 29 de julio de 2026 – «Publish release artifacts, channel metadata, and installer aliases through OpenAI-hosted release infrastructure, with GitHub fallback.»
https://chatgpt.com/codex/install.shresponde con un 302 haciahttps://releases.openai.com/codex/install.sh(comprobado el 2026-09-06 y el 2026-10-15); el README lo indicaba el 2026-10-15: «The standalone installers download fromhttps://releases.openai.com/codexby default and fall back to GitHub Releases if a metadata or asset download is unavailable.» ↩ -
OpenAI,
feat(cli): add codex doctor diagnostics, openai/codex PR #22336, fusionado el 13 de mayo de 2026 – las secciones del informe (Notes, Environment, Configuration, Updates, Connectivity, Background Server) y sus flags--summary,--json,--ally--no-color. ↩↩ -
OpenAI, Codex on Windows: Windows sandbox – según la lectura del 2026-10-15: Microsoft Execution Containers, «which Microsoft is rolling out to Windows 11 devices. Microsoft introduced MXC process isolation in Windows 11 24H2 (build 26100.9278) and 25H2 (build 26200.9278)»; «The desktop app automatically prefers MXC for consumer accounts when the device supports it», y
prefer_mxc = truebajo[features]para la CLI;allow_mxc = falsebajo[windows]enrequirements.tomllo bloquea; una prueba de un solo comando documentada para «Codex CLI 0.162.0 and later» con la salida esperadaMXC_OK; los respaldos heredados[windows] sandbox = "elevated"(«the preferred legacy fallback») y"unelevated"(«a legacy fallback» con «weaker network isolation than elevated»); «Use MXC when the device and policy support it. Otherwise, prefer elevated, with unelevated as a secondary fallback»; «Use the native Windows sandbox by default. Choose WSL when you need Linux-native tooling, your workflow already lives in WSL2, or the available native Windows implementations don’t meet your needs»; Windows 11 recomendado, «Recent, fully updated Windows 10» etiquetado como «Best effort», con «Windows 10 version 1809 or newer is required» para la compatibilidad de consola, Windows 10 más antiguo no recomendado; se esperawingetpara la configuración. Verificado por primera vez el 2026-09-06, cuando la página solo describía los dos modos heredados. ↩↩↩↩↩↩↩↩ -
OpenAI, publicaciones de openai/codex –
rust-v0.163.0publicada el 15 de octubre de 2026 a las 21:30 UTC como la más reciente, después derust-v0.160.0(1 de octubre),rust-v0.160.1(5 de octubre),rust-v0.161.0(7 de octubre),rust-v0.162.0(8 de octubre) yrust-v0.162.1(9 de octubre);rust-v0.153.4era la más reciente el 4 de septiembre de 2026 (según la lectura del 6 de septiembre; el listado del 15 de octubre se remonta al 1 de octubre). Fechas de la API de GitHub Releases. ↩↩↩ -
npm,
@openai/codex–latest= 0.163.0 (publicada el 2026-10-15 a las 21:37 UTC),alpha= 0.163.0-alpha.11 (publicada el 2026-10-14 a las 03:38 UTC) yengines: { node: ">=16" }en la 0.163.0, según el documento del registro del 2026-10-15;latestera 0.153.4 el 2026-09-06, y el mapatimedel documento lista catorce versiones estables después de la 0.146.1 hasta la 0.153.4 (0.147.0, 0.148.0, 0.149.0, 0.149.1, 0.150.0, 0.150.1, 0.151.0, 0.152.0, 0.152.1, 0.153.0 a 0.153.4). ↩↩↩↩↩↩ -
OpenAI, documentación de Codex CLI – la instalación empieza con el instalador independiente (
curl -fsSL https://chatgpt.com/codex/install.sh | shen macOS y Linux, una pestaña de instalador para Windows), presenta Homebrew y npm como alternativas, y menciona volver a ejecutar el instalador como la actualización para instalaciones independientes. Verificado el 2026-09-06 y de nuevo el 2026-10-15, cuando las pestañas de instalación eran macOS/Linux, Windows, npm y Homebrew. ↩↩↩↩↩↩ -
OpenAI, el script de instalación
install.shtal como se sirvió el 2026-09-06 y se releyó el 2026-10-15 –Usage: install.sh [--release VERSION]; variables de entornoCODEX_RELEASE(«Version to install; overridden by –release»),CODEX_INSTALL_DIR(por defecto~/.local/bin),CODEX_HOME(por defecto~/.codex) yCODEX_INSTALLER_USE_RELEASES_OPENAI_COM(«Set to 0, false, or no to use GitHub Releases»); versiones guardadas bajo~/.codex/packages/standalone/releasesdetrás de un enlace simbólicocurrent, con un enlace simbólicocodex(ycodex-code-mode-hosten macOS) en el directorio bin; un bloque dePATH# >>> Codex installer >>>/# <<< Codex installer <<<añadido a~/.zprofile,~/.bash_profile,~/.zshrc,~/.bashrco~/.profilecuando el directorio bin no está ya enPATHo se detectó una instalación gestionada competidora (add_to_pathsolo sale antes ante una coincidencia enPATHsi no se encontró ningún conflicto); y la comprobación de instalaciones competidoras que avisa «Multiple managed Codex installs can be ambiguous because PATH order decides which one runs» y ofrecebrew uninstall --cask codex,npm uninstall -g @openai/codexobun remove -g @openai/codex. La copia del 2026-10-15 añadeCODEX_NON_INTERACTIVE(«Set to 1, true, or yes to skip prompts») al texto de uso; un modo solo daemon (CODEX_INSTALL_DAEMON_ONLY=1, raíz~/.codex/packages/app-server-daemon, registro del actualizadorapp-server-daemon/daemon-updater.pid, archivo marcadorauto-update-version, escrito en una instalaciónlatesty eliminado en una publicación explícita al final del script) con el comentario «An explicit daemon update may leave a local or pinned release. Scheduled updates still require the selected release to follow the latest channel.» en la comprobación que sale cuando la publicación seleccionada no es la registrada; y una preferencia por el recursocodex-package-<target>.tar.gzverificado contracodex-package_SHA256SUMS, con el tarball npm de la plataforma como disposición heredada. Losbin/codex,bin/codex-code-mode-hostycodex-path/rgdel paquete se marcan como ejecutables, y el enlacecodex-code-mode-hostsolo se crea en macOS; el actualizador se ejecuta como el subcomandoapp-server daemon pid-update-loop(la comprobación de propiedad del script en la línea 1266 lo invoca con--check-package-ownership). ↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
OpenAI, notas de la versión Codex CLI v0.149.0, 20 de agosto de 2026 – incluye #39630, «Retire the untrusted approval policy», y «
codex doctornow diagnoses endpoint protection, network/proxy failures, desktop app state, and update connectivity.» ↩↩ -
OpenAI, Codex on Windows: WSL, verificado de nuevo el 2026-10-15 – «Use Codex CLI with WSL»:
wsl --install, abrir una shell de WSL, despuéscurl -fsSL https://chatgpt.com/codex/install.sh | shycodex; la página también aconseja mantener los repositorios bajo el directorio personal de Linux en lugar de rutas/mnt/c/montadas desde Windows, para una E/S más rápida. ↩ -
Reproducción del autor en Codex CLI 0.153.4 (instalación por npm), 2026-09-06:
codex doctor --summary --no-colorimprime las secciones Notes, Environment, Configuration, Desktop App, Updates, Connectivity y Background Server en ese orden;codex doctor --helplista--ascii. ↩ -
OpenAI, referencia de configuración de Codex –
check_for_update_on_startup(booleano): «Check for Codex updates on startup (set to false only when updates are centrally managed)»;features.in_app_updates(booleano): «Set to false in requirements.toml to disable in-app updates. Updates remain enabled by default when this requirement is omitted.» Verificado el 2026-09-06 y el 2026-10-15. ↩ -
OpenAI, el script de instalación
install.ps1tal como se sirvió el 2026-09-06 y se releyó el 2026-10-15 – bloque de parámetrosparam([string]$Release = $env:CODEX_RELEASE)conlatestcomo respaldo;$codexHome=CODEX_HOMEo%USERPROFILE%\.codex;packages\standaloneconreleases\, una unióncurrenteinstall.lock; el directorio bin visible%LOCALAPPDATA%\Programs\OpenAI\Codex\bin(oCODEX_INSTALL_DIR) creado como unión haciacurrent\bin; elPathde ámbito de usuario escrito con[Environment]::SetEnvironmentVariable("Path", ..., "User")(«PATH updated for future PowerShell sessions.»). La copia del 2026-10-15 calcula el SHA-256 del archivo con .NET (SHA256CryptoServiceProvider) y lo compara con elcodex-package_SHA256SUMSde la publicación, y lanza «Downloaded Codex archive checksum did not match expected digest» si no coinciden. ↩↩↩↩ -
OpenAI, notas de la versión Codex CLI v0.162.0, 8 de octubre de 2026 – «Publish a signed PowerShell installer with Windows releases. (#51158)» y «Fix archive checksum verification when installing through Windows PowerShell with PowerShell 7 module paths present. (#51257)». PR #51158, fusionado el 5 de octubre de 2026: «sign
scripts/install/install.ps1with Azure Trusted Signing in the x64 release job» y «publish the signed artifact asinstall.ps1instead of copying the unsigned source». PR #51257, fusionado el 6 de octubre: «compute SHA-256 directly with .NET APIs after resolving the archive path». ↩ -
OpenAI,
Add a CLI command to uninstall the legacy Windows sandbox, openai/codex PR #50437, fusionado el 2 de octubre de 2026 e incluido en las notas de la versión v0.162.0; la descripción del pull request: «Addcodex sandbox uninstallto remove machine-wide legacy Windows sandbox accounts and network rules with administrator privileges. Run cleanup without loading configuration, preserving Codex home, sandbox directories, and filesystem permissions. Reject the command on other platforms.» ↩ -
OpenAI,
codex-rs/app-server-daemon/README.mden la etiqueta rust-v0.163.0 – «codex-app-server-daemonis experimental and its lifecycle contract may change»; los ocho comandos (codex app-server daemon start,restart,update,enable-remote-control,disable-remote-control,stop,version,bootstrap --remote-control); «Eligible managed daemons check for updates after five minutes, then hourly by default. EditCODEX_HOME/app-server-daemon/settings.jsonto change this» con el ejemplo"updater": { "autoUpdateEnabled": false, "updateIntervalMinutes": 120 }; «It launches a detached updater loop when automatic updates are enabled, the installer selected the stablelatestchannel, and the managed binary supports the updater command»; «New daemons useCODEX_HOME/packages/app-server-daemon/current/bin/codex» y «Daemon-only installer updates leave the user’s CLI command and shell setup alone»; «Previously launched legacy daemons retainCODEX_HOME/packages/standalone/current, including its flat binary layout when present. Starts and scheduled updates keep using that location»; la tabla de situaciones («the selected release stays pinned» cuando el instalador seleccionó una publicación explícita; «the running server restarts with the new binary before the updater replaces itself»); los archivos de estado bajoCODEX_HOME/app-server-daemon/tal como los lista el README (settings.json,app-server.pid,app-server-updater.pid,daemon.lock; losdaemon.pidydaemon-updater.piddel daemon dedicado proceden del código fuente, más abajo); «stopsends a graceful termination request first, then force-terminates the process after the configured grace window if it is still alive»; «installs made before the installer recorded channel selections need one newlatestinstallation to opt into automatic updates; until then the daemon continues to serve app-server without updating the selected release»; «daemon updateselects the latest stable release, even with automatic updates disabled. It also returns pinned or local managed packages to production update eligibility», «A running daemon restarts, so active or queued work may be interrupted» y «Legacy installations migrate to the dedicated root once the published installer and release support migration»; «bootstrapcan use any complete CLI package. If no daemon package is installed, it copies the invoking package intoCODEX_HOME/packages/app-server-daemon» y «A bare executable cannot supply a new installation». Los nombres de los archivos pid proceden del código fuente en la misma etiqueta,codex-rs/app-server-daemon/src/lib.rs:LEGACY_PID_FILE_NAME = "app-server.pid",LEGACY_UPDATE_PID_FILE_NAME = "app-server-updater.pid",DAEMON_PID_FILE_NAME = "daemon.pid",DAEMON_UPDATE_PID_FILE_NAME = "daemon-updater.pid"(líneas 54 a 57), el par heredado elegido solo cuando el binario gestionado está bajopackages/standalone(líneas 334 a 337 y 376 a 379),stopdetiene el backend en marcha (línea 615) y al actualizador lo detieneensure_managed_updateren un inicio, un reinicio o un cambio de control remoto (líneas 893 a 930) y en otras dos rutas del ciclo de vida (líneas 474 a 477 y 829 a 832), nuncastop, junto con la frase del README «the updater loop is not reboot-persistent» (línea 145); las líneas de comandos desrc/backend/pid.rs(líneas 385 a 401:app-server --listen unix://para el servidor,app-server --remote-control --listen unix://con el control remoto activado,app-server daemon pid-update-looppara el actualizador). También OpenAI, notas de la versión Codex CLI v0.157.0, publicadas el 25 de septiembre de 2026 a las 02:31 UTC – «Enabled automatic background-server startup for eligible interactive sessions, with recovery choices when server settings are incompatible. (#47179, #47318)»; v0.162.0 – «#50499 Include installer stderr in daemon update failures», cuyo pull request empieza con «Daemon updates discard installer stderr»; v0.163.0, 15 de octubre – «Restart a managed background server from/daemon. Codex warns about work the restart could interrupt, then reconnects automatically. (#53173)» y «#52223 Enforce application network policy for daemon updates». El modo daemon del instalador y su comprobación de actualización están en la nota 12. ↩↩↩↩↩↩↩↩ -
OpenAI, notas de la versión Codex CLI v0.161.0, 7 de octubre de 2026 – «Publishing an older alpha or hotfix no longer moves npm alpha tags backward. (#49704)». ↩
-
OpenAI, notas de la versión Codex CLI v0.162.0 – «#50200 Report the configured TUI mode in
codex doctor». ↩