← Tous les articles

Installer et mettre à jour Codex CLI : Mac, Linux, Windows

Tiré du guide: Codex CLI Comprehensive Guide

Installer la CLI OpenAI Codex tient en une commande par plateforme – curl -fsSL https://chatgpt.com/codex/install.sh | sh sur macOS et Linux, powershell -ExecutionPolicy ByPass -c "irm https://chatgpt.com/codex/install.ps1 | iex" sur Windows – avec npm et Homebrew comme alternatives prises en charge, et la mise à jour se fait par codex update, qui reconnaît les installations par script, npm et Homebrew et lance la montée de version propre à ce canal.1411 Ce que la plupart des pages sautent vient après la première commande : laquelle des cinq voies d’installation choisir, comment épingler une version quand une sortie casse quelque chose, pourquoi le paquet winget accuse de quelques jours à quelques semaines de retard sur npm, et ce qu’une désinstallation laisse dans ~/.codex. Cette page est cette référence, un tableau par tâche, à jour de la v0.163.0 (15 octobre 2026).9

Mis à jour le 15 octobre 2026 pour la v0.163.0. Quatre choses ont bougé depuis la version de septembre de cette page. L’index winget s’est remis en mouvement : après un été où ses demandes de manifeste restaient des semaines en attente, les douze de 0.156.0 à 0.161.0 ont été fusionnées moins d’un jour après leur ouverture, mais les demandes pour 0.162.0 et 0.162.1 attendent depuis les 8 et 9 octobre, si bien que le 15 octobre winget avait trois sorties de retard sur npm, contre quatorze (0.147.0 à 0.153.4) le 6 septembre.310 Les sorties Windows fournissent un install.ps1 signé (sa vérification SHA-256 est plus ancienne ; la v0.162.0 l’a corrigée sous Windows PowerShell).18 Windows a aussi gagné une troisième implémentation de bac à sable, Microsoft Execution Containers, avec les deux modes de septembre comme replis.8 Enfin, le serveur d’arrière-plan que Codex démarre désormais par défaut pour les sessions interactives éligibles fait tourner son propre outil de mise à jour, qui, sur les installations par script plus anciennes, peut déplacer le paquet de la CLI elle-même.20 Chaque repère d’installation, de mise à jour et d’épinglage ci-dessous a été relu le 15 octobre ; la lecture de codex doctor date de la 0.153.4.910

TL;DR

  • L’installeur autonome est la voie qu’OpenAI met en tête, dans le README comme dans la documentation de la CLI, npm et Homebrew étant présentés comme des alternatives (« you can also install » dans la documentation de la CLI, « can also be installed via » dans le README) : le script install.sh sur macOS et Linux, le script install.ps1 sur Windows. Il télécharge le binaire compilé, donc pas besoin de Node.111
  • npm et Homebrew sont des alternatives prises en charge. npm install -g @openai/codex épingle avec une spécification de paquet ordinaire (@<version>) ; brew install --cask codex était, au moment d’écrire, sur la même 0.163.0 que npm ; le cask a été mis à jour treize minutes après la sortie.1210
  • winget fonctionne, avec quelques jours à quelques semaines de retard. OpenAI publie le paquet OpenAI.Codex. Après un été où ses pull requests de manifeste restaient des semaines sans être fusionnées, les douze de 0.156.0 (22 septembre 2026) à 0.161.0 (7 octobre) ont chacune été fusionnées moins d’un jour après leur ouverture ; puis les demandes pour 0.162.0 et 0.162.1 se sont enlisées, ouvertes depuis les 8 et 9 octobre. Le 15 octobre, la version la plus récente installable était la 0.161.0, contre 0.163.0 sur npm, soit trois sorties stables de retard, et la demande pour 0.163.0 était ouverte elle aussi.310
  • codex update couvre les installations par script, npm et Homebrew (depuis la v0.128.0) : il réutilise la détection du canal d’installation que la TUI possède déjà et lance la montée de version correspondante. Une installation winget n’est pas un canal qu’il reconnaît ; celle-là se met à jour avec winget upgrade OpenAI.Codex. Les équivalents manuels pour le reste sont la relance de l’installeur, npm install -g @openai/codex@latest ou brew upgrade --cask codex.411
  • Le serveur d’arrière-plan fait tourner un outil de mise à jour, et sur les installations par script plus anciennes il peut déplacer votre CLI. Depuis la v0.157.0 (25 septembre 2026 UTC), Codex démarre par défaut un serveur d’arrière-plan géré pour les sessions interactives éligibles. Quand l’installeur a sélectionné le canal latest, ce serveur cherche des mises à jour cinq minutes après son démarrage, puis toutes les heures, en lançant l’installeur ; un nouveau démon vit sous ~/.codex/packages/app-server-daemon, mais un démon lancé pour la première fois depuis une installation par script plus ancienne continue d’utiliser ~/.codex/packages/standalone/current, le paquet de la CLI elle-même. L’interrupteur est "updater": { "autoUpdateEnabled": false } dans ~/.codex/app-server-daemon/settings.json, appliqué par codex app-server daemon restart.2012
  • Épinglez avec --release <version> sur install.sh, $env:CODEX_RELEASE avant la ligne install.ps1, ou @<version> sur npm. Le cask Homebrew suit une seule version courante et ne sait pas épingler.212
  • Désinstaller le paquet ne supprime pas votre état, mais sur une installation par script, rm -rf ~/.codex supprime aussi la CLI elle-même, parce que l’installeur range ses versions sous ~/.codex/packages/standalone.12

Comment installer Codex CLI ?

Quatre voies, dans l’ordre où la documentation d’OpenAI les présente,111 plus winget sur Windows, qu’OpenAI ne documente pas :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

Confirmez ensuite que l’installation a abouti et connectez-vous :

codex --version      # codex-cli 0.163.0
codex login          # ChatGPT account (recommended) or an API key

À la première installation par script, le bloc de profil ne prend effet que dans les nouveaux shells. Si codex est introuvable dans le terminal depuis lequel vous avez installé, lancez-y export PATH="$HOME/.local/bin:$PATH" ou ouvrez-en un nouveau ; l’installeur affiche les deux mêmes lignes en terminant (« Current terminal » et « Future terminals »).12

Vous préférez un binaire brut ? Chaque sortie GitHub fournit des archives par plateforme (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), et depuis la v0.106.0 le même install.sh est joint à chaque sortie comme ressource. Chaque archive contient une seule entrée dont le nom inclut la plateforme ; renommez-la en codex après extraction.15 La page de sortie s’est étoffée autour de ces archives : des variantes .zst et, pour macOS, .dmg de chaque binaire ; des lots codex-package-<target>.tar.gz réunissant le binaire, l’utilitaire codex-code-mode-host et ripgrep, que l’installeur et le cask Homebrew téléchargent ; les binaires codex-app-server et codex-responses-api-proxy ; et des wheels Python openai_codex_cli_bin, qui sont le runtime épinglé du SDK Python d’OpenAI et non une voie pip vers la CLI.512

L’installeur télécharge depuis l’infrastructure de publication hébergée par OpenAI : chatgpt.com/codex/install.sh redirige vers releases.openai.com, un changement arrivé avec la v0.146.0, GitHub Releases restant l’hôte de repli.6 Sur un réseau qui bloque ou bride l’hôte d’artefacts d’OpenAI mais laisse passer GitHub, récupérez le script depuis la ressource de la sortie et dites-lui d’aller chercher le binaire sur GitHub aussi :112

curl -fsSL https://github.com/openai/codex/releases/latest/download/install.sh | CODEX_INSTALLER_USE_RELEASES_OPENAI_COM=false sh

La variable va du côté sh du tube. La forme VAR=value curl ... | sh n’applique la variable qu’à curl, si bien que le script ne la voit jamais et garde silencieusement la valeur par défaut. En PowerShell, définissez $env:CODEX_INSTALLER_USE_RELEASES_OPENAI_COM = 'false' avant de lancer la ligne d’installation.

Quelle voie choisir ?

Vous êtes sur Utilisez Pourquoi
macOS ou Linux le script d’installation La voie que la documentation d’OpenAI cite en premier ; télécharge le binaire, pas de Node sur la machine11
Windows le script PowerShell PowerShell natif avec le bac à sable Windows ; WSL est facultatif811
Toute machine où vous épinglez des versions dans des scripts npm install -g @openai/codex@<version> Épingle par spécification de paquet, la version vit donc dans votre Dockerfile ou votre script de provisionnement plutôt que dans un drapeau10
macOS ou Linux où Homebrew gère déjà tout le reste brew install --cask codex Même version que npm le 15 octobre (le cask a été mis à jour treize minutes après la sortie), aucune dépendance à Node, brew upgrade la garde à jour2
Windows, géré par paquets winget install OpenAI.Codex Si un retard sur npm est acceptable : trois sorties le 15 octobre3

Quelles plateformes Codex prend-il en charge ?

Plateforme Statut
macOS, Apple silicon et Intel Pris en charge ; binaires pour les deux1
Linux, x86_64 et arm64 Pris en charge ; binaires pour les deux1
Windows 11 Base recommandée ; MXC est arrivé avec 24H2 (build 26100.9278) et 25H2 (build 26200.9278) et se déploie progressivement, testez-le donc avec la vérification en une commande8
Windows 10, version 1809 ou plus récente Au mieux (prise en charge de console ConPTY requise)8
Windows 10 plus ancien Non recommandé : composants de console manquants8
WSL2 Facultatif ; la page WSL d’OpenAI lance le même script d’installation depuis le shell WSL14

Sur Windows, Codex s’exécute nativement dans PowerShell avec un bac à sable Windows, et en octobre 2026 il en existe trois implémentations. La plus récente est Microsoft Execution Containers (MXC), l’isolation de processus que Microsoft a introduite dans Windows 11 24H2 et 25H2 : l’application de bureau la privilégie pour les comptes grand public quand l’appareil la prend en charge, la CLI l’utilise quand prefer_mxc = true est défini sous [features], avec les modes historiques en repli, ou quand [windows] sandbox = "mxc" la sélectionne explicitement, auquel cas elle échoue au lieu de se rabattre là où la capacité manque ou qu’une stratégie la bloque ; depuis la v0.162.0, un test en une commande (codex -c windows.sandbox=mxc sandbox ..., sortie attendue MXC_OK) l’essaie sans modifier la sélection enregistrée. Les deux modes antérieurs sont désormais les replis historiques. elevated est le mode préféré : il utilise des utilisateurs de bac à sable dédiés à privilèges réduits, des frontières de permissions sur le système de fichiers, des règles de pare-feu et des modifications de stratégie locale, et il exige une configuration approuvée par un administrateur. unelevated exécute les commandes avec un jeton Windows restreint dérivé de votre utilisateur et des frontières de système de fichiers fondées sur les ACL, avec une isolation réseau plus faible.8 Le repli se choisit dans config.toml :

[windows]
sandbox = "elevated"   # or "unelevated"; "mxc" selects the containers explicitly

La recommandation d’OpenAI est d’utiliser le bac à sable natif par défaut et de choisir WSL quand vous avez besoin d’outils natifs Linux, quand votre flux de travail vit déjà dans WSL2, ou quand aucune des implémentations natives du bac à sable Windows ne répond à vos exigences.8 Une distinction à garder en tête : la configuration Windows suppose que winget est présent sur la machine pour ses propres étapes de configuration ; c’est autre chose qu’installer Codex via winget. OpenAI publie bien ce paquet, le flux de publication comporte un job winget qui ouvre une pull request de manifeste dans microsoft/winget-pkgs pour les sorties stables, et le blocage estival de l’index a pris fin, mais pas pour de bon. Les dates sont ici en UTC. Les demandes pour 0.148.0 à 0.152.0, ouvertes entre le 18 août et le 1er septembre, ont été fusionnées le 11 septembre (0.151.0 le 30 septembre et 0.149.1 le 1er octobre) ; la demande pour 0.147.0 a été fermée sans fusion, tout comme la soumission d’un membre de la communauté pour 0.154.0, et le flux d’OpenAI n’en a ouvert aucune pour 0.152.1 ni pour 0.153.x à 0.155.x ; de 0.156.0 (22 septembre) à 0.161.0 (7 octobre), douze manifestes d’affilée ont été fusionnés moins d’un jour après leur ouverture ; puis les demandes pour 0.162.0 et 0.162.1 se sont enlisées, ouvertes depuis les 8 et 9 octobre. Le 15 octobre, l’index contenait 138 versions, la plus récente 0.161.0, trois sorties stables derrière npm, et la demande pour 0.163.0 était ouverte elle aussi. Rien n’est cassé dans la CLI ; le paquet a de quelques jours à quelques semaines de retard.38

Node.js n’est un prérequis que pour la voie npm. Les scripts d’installation téléchargent le binaire compilé, et le cask Homebrew ne déclare aucune dépendance.12

Comment mettre à jour Codex CLI ?

La CLI que vous lancez ne se met pas à jour toute seule, sauf si un outil de mise à jour du serveur d’arrière-plan gère le même paquet (les installations par script plus anciennes dont le serveur a été lancé depuis packages/standalone, voir plus bas). La TUI remarque une nouvelle sortie et propose la commande de votre canal d’installation ; l’exécuter vous revient, et la commande intégrée couvre les installations par script, npm et Homebrew.4 La vérification au démarrage est elle-même une clé de configuration : check_for_update_on_startup = false dans config.toml, que la référence décrit ainsi : « Check for Codex updates on startup (set to false only when updates are centrally managed) » ; les flottes qui gèrent les mises à jour de façon centralisée définissent features.in_app_updates = false dans 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 est arrivé avec la v0.128.0 le 30 avril 2026 ; la pull request qui l’a ajouté a réutilisé la détection du canal d’installation et l’exécuteur de mise à jour que la TUI avait déjà pour ses invitations de mise à jour. La table des canaux couvre npm (plus les variantes bun, pnpm et Vite+), Homebrew et l’installeur autonome sur Unix et Windows ; une installation winget n’y figure pas, si bien qu’un Codex installé via winget ne se met à jour que par winget upgrade OpenAI.Codex. Relue le 15 octobre, la table compte une nouvelle entrée, une action de démon qui remplace le serveur d’arrière-plan local une fois le terminal restauré, et ses commandes pour l’installeur autonome lancent désormais l’installeur avec CODEX_NON_INTERACTIVE=1 ; winget en est toujours absent.4 Les équivalents manuels, si vous les préférez ou si vous scriptez une image de machine :

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

Les sorties se succèdent sur une ligne stable rapide : 0.160.0 à 0.163.0, six sorties stables, ont paru entre le 1er et le 15 octobre 2026, si bien que l’écart entre « ce que j’utilise » et « la dernière » est souvent d’une semaine, pas d’un trimestre.9

Le serveur d’arrière-plan se met à jour tout seul

Le serveur d’arrière-plan est la seule chose qui va chercher de nouveaux binaires selon un calendrier. Depuis la v0.157.0 (25 septembre 2026 UTC), Codex démarre par défaut un serveur d’arrière-plan géré pour les sessions interactives éligibles, et quand l’installeur a sélectionné le canal stable latest, ce serveur lance une boucle de mise à jour détachée : elle cherche des mises à jour cinq minutes après le démarrage, puis toutes les heures, en lançant l’installeur à chaque fois, et un serveur en cours d’exécution redémarre sur le nouveau binaire. Un démon installé sur la 0.163.0 vit dans son propre paquet, ~/.codex/packages/app-server-daemon (le mode CODEX_INSTALL_DAEMON_ONLY=1 de l’installeur, qui ne touche ni à la commande CLI de l’utilisateur ni à sa configuration de shell), mais un démon lancé pour la première fois depuis une installation par script plus ancienne continue d’utiliser ~/.codex/packages/standalone/current, et ses mises à jour planifiées déplacent ce paquet, qui est la CLI que vous tapez (sur les installations antérieures au marqueur de canal de l’installeur, seulement après la prochaine installation latest, que codex update effectue ; jusque-là, le démon sert sans se mettre à jour). Une version épinglée reste épinglée : l’installeur n’écrit un marqueur auto-update-version que pour une installation latest et le supprime pour une version explicite, et son propre commentaire énonce la règle : « Scheduled updates still require the selected release to follow the latest channel. » L’interrupteur par utilisateur est "updater": { "autoUpdateEnabled": false } dans ~/.codex/app-server-daemon/settings.json, avec un updateIntervalMinutes à côté ; codex app-server daemon restart applique l’état d’activation, et un intervalle modifié prend effet à la prochaine attente ; codex app-server daemon stop arrête le serveur (une demande d’arrêt propre, puis un arrêt forcé passé le délai de grâce ; la boucle de mise à jour est un processus distinct suivi par un fichier pid, vérifiez donc ensuite qu’elle ne tourne plus), /daemon dans la TUI le redémarre (v0.163.0), et ces mises à jour respectent la stratégie réseau de l’application (v0.163.0). Un codex app-server daemon update explicite sélectionne la dernière version stable même quand les mises à jour automatiques sont désactivées et, dès que l’installeur et la sortie le permettent, déplace un démon historique vers sa propre racine de paquet ; il rend aussi un paquet épinglé de nouveau éligible aux mises à jour de production (le réglage de mise à jour automatique lui-même est conservé) et redémarre un serveur en cours d’exécution, ce qui peut interrompre un travail actif ou en file d’attente ; un serveur arrêté reste arrêté. Le README du démon lui-même le qualifie d’expérimental.2012

Comment installer une version précise ?

npm et le script d’installation épinglent tous deux par version ; Homebrew non :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

Attention à la position dans la forme avec variable d’environnement : CODEX_RELEASE=0.162.1 doit précéder sh, après le tube. Écrite devant curl, la variable ne s’applique qu’à curl et le script installe latest alors que vous croyez avoir épinglé.12 Sur Windows, le script PowerShell déclare $Release = $env:CODEX_RELEASE comme unique paramètre et se rabat sur latest quand il est vide, l’épinglage est donc cette variable, définie dans la même session :17

$env:CODEX_RELEASE = '0.162.1'; irm https://chatgpt.com/codex/install.ps1 | iex

Effacez-la ensuite (Remove-Item Env:CODEX_RELEASE) : la variable reste définie pour le reste de cette session, et toute exécution ultérieure de l’installeur dans celle-ci, y compris celle que lance codex update, hérite de l’épinglage.17

npm porte aussi un dist-tag alpha pour la ligne de préversions (0.163.0-alpha.11 le 15 octobre, publiée le 14 octobre UTC, près de deux jours avant la 0.163.0 stable) ; npm install -g @openai/codex@alpha la suit, et depuis la v0.161.0, publier une alpha plus ancienne ou un correctif ne fait plus reculer cette étiquette.1021

Épingler est le bon réflexe quand une sortie vous bloque : signalez le problème, épinglez la dernière version saine, avancez. Vérifiez avec codex --version après chaque épinglage, parce qu’une seconde installation ailleurs sur votre PATH continuera silencieusement à servir son propre binaire. Le script d’installation vérifie exactement cela : quand il trouve déjà sur votre PATH un codex géré par Homebrew, npm ou bun, il avertit « Multiple managed Codex installs can be ambiguous because PATH order decides which one runs » et propose de lancer pour vous la désinstallation correspondante ; il reconnaît le cas Homebrew aux préfixes macOS /opt/homebrew et /usr/local, sur macOS seulement, si bien qu’un codex installé par Linuxbrew n’est pas détecté.12 codex doctor signale le même état après coup sous Environment.7

Comment désinstaller Codex CLI ?

Arrêtez d’abord le serveur d’arrière-plan, tant que codex est encore sur votre PATH, puis retirez-le par la voie qui l’a installé :

codex app-server daemon stop     # first; skip if no server runs
npm uninstall -g @openai/codex
brew uninstall --cask codex
winget uninstall OpenAI.Codex

Une installation par script n’a pas de gestionnaire de paquets à interroger. L’installeur place un lien symbolique codex dans ~/.local/bin (modifiable avec CODEX_INSTALL_DIR) qui pointe vers le binaire à l’intérieur de ~/.codex/packages/standalone/current (current/bin/codex dans les sorties actuelles) ; current est lui-même un lien symbolique vers ~/.codex/packages/standalone/releases/, où vit chaque version téléchargée. Sur macOS, l’installeur ajoute un second lien symbolique à côté du premier, codex-code-mode-host.12 Depuis la v0.157.0, il peut aussi y avoir un serveur d’arrière-plan : son paquet sous ~/.codex/packages/app-server-daemon (ou, pour un serveur lancé pour la première fois depuis une installation plus ancienne, le paquet standalone lui-même) et son état sous ~/.codex/app-server-daemon/ (settings.json, daemon.pid et daemon-updater.pid, ou app-server.pid et app-server-updater.pid pour un serveur qui tourne depuis le paquet standalone, et daemon.lock).20 Arrêtez-le d’abord, puis retirez le tout :

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

Le serveur tourne sous la forme codex app-server --listen unix://, avec --remote-control avant --listen quand le contrôle à distance est activé (l’argument listen est le schéma nu ; aucun chemin de socket n’apparaît sur la ligne de commande), et son outil de mise à jour sous la forme codex app-server daemon pid-update-loop ; les fichiers pid sous ~/.codex/app-server-daemon/ permettent de savoir quel processus appartient au serveur d’arrière-plan : daemon.pid et daemon-updater.pid pour un démon dédié, app-server.pid et app-server-updater.pid pour un serveur qui tourne depuis le paquet standalone. stop met fin au serveur, pas à l’outil de mise à jour, qui continue de se réveiller à son intervalle jusqu’à un redémarrage de la machine ; si un pid enregistré là est toujours vivant, terminez-le donc maintenant avec kill <pid> ; tout autre processus codex app-server appartient à autre chose que vous faites tourner. Retirez ensuite le reste :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 n’était pas sur votre PATH lors de l’installation, ou si l’installeur a trouvé une installation concurrente Homebrew, npm ou bun et a réécrit l’entrée, le script a aussi ajouté un bloc balisé à votre profil de shell : de # >>> Codex installer >>> à # <<< Codex installer <<< dans ~/.zprofile (zsh sur macOS), ~/.bash_profile (bash sur macOS), ~/.zshrc (zsh sur Linux), ~/.bashrc (bash sur Linux) ou ~/.profile (tout autre shell). Supprimez ces trois lignes pour finir.12

Sur Windows, install.ps1 conserve la même disposition sous %USERPROFILE%\.codex\packages\standalone (ou %CODEX_HOME%\packages\standalone si vous avez défini cette variable) : les versions téléchargées dans releases\, une jonction current qui pointe vers celle en service. Il expose codex.exe via %LOCALAPPDATA%\Programs\OpenAI\Codex\bin (modifiable avec CODEX_INSTALL_DIR), qui est lui-même une jonction vers current\bin, et au lieu d’un bloc de profil, il écrit ce chemin bin dans votre PATH utilisateur pour les futures sessions PowerShell. Le serveur d’arrière-plan y garde les deux mêmes dossiers, packages\app-server-daemon et app-server-daemon.1720 Arrêtez-le, retirez le répertoire standalone et les deux dossiers du serveur, puis la jonction bin désormais pendante, puis retirez l’entrée de la variable Path utilisateur dans les Variables d’environnement :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

Les mêmes fichiers pid tranchent ici : si un processus dont le pid est enregistré dans %USERPROFILE%\.codex\app-server-daemon\daemon.pid ou daemon-updater.pid (ou dans app-server.pid et app-server-updater.pid pour un serveur sur le paquet standalone) est toujours vivant, terminez-le maintenant avec Stop-Process -Id <pid> ; tout autre processus Codex est autre chose que vous faites tourner. Retirez ensuite le reste :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) est le nettoyage distinct pour le bac à sable Windows historique : il supprime, avec les privilèges d’administrateur, les comptes de bac à sable et les règles réseau à l’échelle de la machine, laisse tranquilles le répertoire personnel de Codex et les répertoires du bac à sable, et il est refusé sur les autres plateformes.19

Quelle que soit la voie, arrêtez d’abord le serveur d’arrière-plan s’il tourne (codex app-server daemon stop) et cherchez ~/.codex/packages/app-server-daemon : le README du démon indique que bootstrap copie le paquet appelant dans ce dossier quand aucun paquet de démon n’existe, et qu’un exécutable nu ne peut pas en fournir un ; si le démarrage automatique d’une installation Homebrew ou npm le crée, cela n’a pas été testé ici ; si le dossier existe, retirez-le, ainsi que ~/.codex/app-server-daemon, après la désinstallation par le gestionnaire de paquets.20 Les désinstallations par gestionnaire de paquets ci-dessus ne touchent pas à ~/.codex/. Le --zap de Homebrew non plus, en pratique : la seule directive zap du cask est rmdir: "~/.codex", et Homebrew n’applique rmdir: qu’aux répertoires déjà vides.2 Ce répertoire contient config.toml, vos identifiants enregistrés et chaque session, ce qui explique qu’une réinstallation reprenne la connexion et l’historique là où vous les avez laissés. Ne le supprimez que si vous voulez vraiment repartir de zéro, en sachant ce que cela signifie sur une installation par script :

rm -rf ~/.codex   # discards config.toml, credentials, all sessions -- AND the CLI itself on a script install

Une réinstallation propre qui conserve votre état tient en une ligne sur npm : npm uninstall -g @openai/codex && npm install -g @openai/codex@latest. Sur la voie du script, relancer l’installeur ajoute la nouvelle version sous ~/.codex/packages/standalone/releases, refait pointer current vers elle, laisse les versions plus anciennes en place jusqu’à ce que vous les retiriez, et laisse votre configuration tranquille.12

Tout le cycle de vie en un tableau

Tâche install.sh (macOS, Linux) install.ps1 (Windows) npm Homebrew winget
Installer 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
Mettre à jour codex update, ou relancer le script codex update, ou relancer le script codex update, ou npm install -g @openai/codex@latest codex update, ou brew upgrade --cask codex winget upgrade OpenAI.Codex (codex update ne reconnaît pas cette voie)
Épingler sh -s -- --release 0.162.1 $env:CODEX_RELEASE = '0.162.1' avant la ligne d’installation npm install -g @openai/[email protected] non pris en charge winget install OpenAI.Codex --version 0.161.0
Désinstaller codex app-server daemon stop, puis retirer les liens symboliques de ~/.local/bin, ~/.codex/packages/standalone, ~/.codex/packages/app-server-daemon et ~/.codex/app-server-daemon codex app-server daemon stop, puis retirer %USERPROFILE%\.codex\packages\standalone, les dossiers packages\app-server-daemon et app-server-daemon du serveur, la jonction %LOCALAPPDATA%\Programs\OpenAI\Codex\bin et l’entrée du PATH utilisateur codex app-server daemon stop si un serveur tourne, puis npm uninstall -g @openai/codex, puis les dossiers du démon s’ils existent le même arrêt, puis brew uninstall --cask codex (--zap ne vide pas un ~/.codex rempli), puis les dossiers du démon s’ils existent le même arrêt, puis winget uninstall OpenAI.Codex, puis les dossiers du démon s’ils existent
Vérifier codex --version, codex doctor idem idem idem idem

Que vérifie codex doctor ?

codex doctor est la commande à lancer avant de signaler un bogue ou de déboguer une installation qui « marchait hier ». Sur la 0.153.4, il rassemble sept sections dans un seul rapport – Notes, Environment (cohérence du runtime et de l’installation), Configuration (état de chargement de config.toml, authentification, MCP, stratégie de bac à sable), Desktop App (ajoutée en v0.149.0), Updates, Connectivity et Background Server – avec --summary pour une vue compacte, --json pour une forme lisible par machine et expurgée, --all pour déplier les listes tronquées et --no-color pour les journaux ; codex doctor --help liste aussi --ascii sur la 0.153.4 ; la v0.162.0 a ajouté au rapport le mode TUI configuré.7131522 La plupart des signalements « Codex est cassé » se résolvent en quelque chose qu’il nomme dès le premier écran : un mode d’authentification périmé, un config.toml qui n’a pas pu être analysé, ou une seconde installation qui masque celle de votre PATH. La décomposition complète, section par section, est dans le guide.

Ce qui change après l’installation

La première chose sur laquelle une installation fraîche trébuche n’est pas le binaire. Depuis la v0.149.0, la CLI refuse de démarrer avec approval_policy = "untrusted", si bien qu’un config.toml copié depuis une machine plus ancienne a besoin d’une modification.13 Vous venez de Claude Code ? Le billet de migration met les deux configurations côte à côte, et le billet sur les hooks explique ce que Codex exécute autour du modèle. Le guide Codex CLI est la référence complète : modes de bac à sable et d’approbation, AGENTS.md, MCP, skills et tâches dans le cloud. Et si vous utilisez les deux outils, la page d’installation de Claude Code est la jumelle de celle-ci.

Questions fréquentes

Comment mettre à jour Codex CLI vers la dernière version ?

Lancez codex update (depuis la v0.128.0) ; il détecte si vous avez installé via le script, npm ou Homebrew et lance la montée de version de ce canal. Les équivalents manuels sont la relance du script d’installation, npm install -g @openai/codex@latest ou brew upgrade --cask codex. Une installation winget n’est pas un canal que codex update reconnaît ; utilisez winget upgrade OpenAI.Codex pour celle-là.

Codex CLI se met-il à jour automatiquement ?

La CLI, non, à une exception près. La TUI vérifie s’il existe une sortie plus récente et propose la commande de mise à jour correspondant à votre canal d’installation, et codex update (depuis la v0.128.0) l’exécute. L’exception est le serveur d’arrière-plan que Codex démarre par défaut depuis la v0.157.0 : sur le canal latest, il cherche des mises à jour cinq minutes après son démarrage, puis toutes les heures, et un serveur lancé pour la première fois depuis une installation par script plus ancienne met à jour ~/.codex/packages/standalone, le paquet de la CLI elle-même, dès qu’une installation latest a enregistré le canal. Pour l’empêcher, définissez "updater": { "autoUpdateEnabled": false } dans ~/.codex/app-server-daemon/settings.json et lancez codex app-server daemon restart.

Comment désinstaller Codex CLI ?

Arrêtez d’abord le serveur d’arrière-plan s’il tourne (codex app-server daemon stop), puis utilisez la voie qui l’a installé : npm uninstall -g @openai/codex, brew uninstall --cask codex ou winget uninstall OpenAI.Codex, et cherchez ~/.codex/packages/app-server-daemon et ~/.codex/app-server-daemon, qu’une désinstallation par gestionnaire de paquets laisse derrière elle. Pour une installation par script, le même arrêt, puis retirez le lien symbolique ~/.local/bin/codex (et ~/.local/bin/codex-code-mode-host sur macOS), le répertoire ~/.codex/packages/standalone, ainsi que ~/.codex/packages/app-server-daemon et ~/.codex/app-server-daemon du serveur. Sur Windows, l’installation par script se compose de %USERPROFILE%\.codex\packages\standalone (plus les dossiers packages\app-server-daemon et app-server-daemon du serveur), de la jonction %LOCALAPPDATA%\Programs\OpenAI\Codex\bin et d’une entrée dans votre PATH utilisateur ; retirez-les tous. Votre configuration, vos identifiants et vos sessions restent dans ~/.codex/ jusqu’à ce que vous supprimiez vous-même le reste de ce répertoire.

Comment installer Codex CLI sur Windows ?

Lancez powershell -ExecutionPolicy ByPass -c "irm https://chatgpt.com/codex/install.ps1 | iex". La CLI s’exécute nativement dans PowerShell avec un bac à sable Windows (Microsoft Execution Containers si vous définissez prefer_mxc = true et que l’appareil les prend en charge, sinon votre mode historique configuré, elevated si aucun ne l’est ; sélectionner explicitement [windows] sandbox = "mxc" utilise MXC ou échoue, sans repli) ; WSL2 est une option si vous avez besoin d’outils Linux ou si aucune des implémentations du bac à sable ne convient, pas un prérequis. Windows 11 est la base recommandée. winget install OpenAI.Codex fonctionne aussi, mais avec du retard sur la ligne stable.

Faut-il Node.js pour installer Codex ?

Seulement pour la voie npm, et le paquet exige Node 16 ou plus récent. Le script d’installation, le script PowerShell et le cask Homebrew fournissent tous le binaire codex compilé, si bien qu’une machine sans Node peut exécuter Codex.

Comment savoir quelle version de Codex j’ai ?

codex --version l’affiche (par exemple codex-cli 0.163.0). npm view @openai/codex version montre la dernière version publiée, et codex doctor indique le chemin d’installation et si une autre copie sur votre PATH la masque.



  1. OpenAI, README openai/codex – la section d’installation s’ouvre sur curl -fsSL https://chatgpt.com/codex/install.sh | sh pour macOS et Linux et sur la ligne PowerShell install.ps1 pour Windows, puis indique que la CLI « can also be installed via » npm (npm install -g @openai/codex) et Homebrew (brew install --cask codex) ; documente curl -fsSL https://chatgpt.com/codex/install.sh | CODEX_INSTALLER_USE_RELEASES_OPENAI_COM=false sh et la forme PowerShell $env:CODEX_INSTALLER_USE_RELEASES_OPENAI_COM='false', introduites par « To force GitHub Releases, set CODEX_INSTALLER_USE_RELEASES_OPENAI_COM to false (0 and no are also accepted) » ; le nom de paquet @openai/codex ; les binaires de plateforme pour macOS (Apple silicon, x86_64) et Linux (x86_64, arm64) sur GitHub Releases. Vérifié le 2026-09-06 et de nouveau le 2026-10-15, quand la section d’installation était inchangée à part la phrase citée dans la note 6. ↩↩↩↩↩↩↩↩↩

  2. Homebrew, cask codex – jeton de cask codex, une seule version courante (0.163.0 le 2026-10-15, mise à jour par le commit codex 0.163.0 dans Homebrew/homebrew-cask à 21:44:02 UTC, treize minutes après la sortie GitHub de 21:30:38 UTC), un artefact binaire bin/codex avec des complétions de shell générées à partir de lui, un depends_on vide, des plateformes prises en charge qui incluent x86_64_linux et arm64_linux à côté des versions de macOS, et une URL de téléchargement de codex-package-aarch64-apple-darwin.tar.gz sur la sortie GitHub. Vérifié via l’API formulae et la liste des commits de homebrew-cask le 2026-10-15 (0.153.4 le 2026-09-06). La directive zap du cask est zap rmdir: "~/.codex", et le Cask Cookbook définit rmdir: comme des chemins de répertoires à supprimer s’ils sont vides. ↩↩↩↩↩↩

  3. Microsoft, manifestes winget-pkgs pour OpenAI.Codex – 138 versions publiées, la plus récente 0.161.0, le 2026-10-15 (119 et 0.146.1 le 2026-09-06) ; aucun manifeste pour 0.147.0, 0.152.1 ni 0.153.x à 0.155.x. Le paquet est publié par OpenAI : .github/workflows/rust-release.yml dans openai/codex comporte un job winget qui soumet le manifeste avec komac (son commentaire : « Adapted from the WinGet Releaser version previously used by this job » ; relu le 2026-10-15). Les pull requests, d’après la recherche du dépôt le 2026-10-15, dates en UTC, ouvertes par oai-fork-bot sauf mention contraire : 0.147.0 (#413497) fermée sans fusion ; 0.148.0 (#420225) à 0.152.0 (#427090), ouvertes du 18 août au 1er septembre, fusionnées le 11 septembre, sauf 0.151.0 (#426091) le 30 septembre et 0.149.1 (#423060) le 1er octobre ; 0.154.0 (#435129, ouverte par un membre de la communauté, z3oya) fermée sans fusion ; 0.156.0 (#439266) à 0.161.0 (#448267), douze demandes ouvertes du 22 septembre au 7 octobre, chacune fusionnée le jour de son ouverture ou le lendemain ; 0.162.0 (#449062), 0.162.1 (#449772) et 0.163.0 (#453561) ouvertes le 2026-10-15. Le README et la documentation de la CLI d’OpenAI ne mentionnent pas winget. ↩↩↩↩↩

  4. OpenAI, notes de version Codex CLI v0.128.0, 30 avril 2026 – « Added codex update, configurable TUI keymaps, plan-mode nudges, action-required terminal titles, and active-turn /statusline and /title edits. » La pull request de la commande, openai/codex #19933 (fusionnée le 28 avril 2026), explique : « Reused the existing install-channel detection and update command runner that the TUI already uses for update prompts. » La table des canaux est codex-rs/tui/src/update_action.rs : npm et ses cousins bun, pnpm et Vite+, Homebrew et l’installeur autonome (Unix et Windows) ; pas de variante winget (lu le 2026-09-06). Relu le 2026-10-15 : l’énumération a gagné Daemon(DaemonUpdateSource) (« Replace the local daemon after restoring the terminal »), et les commandes de l’installeur autonome sont curl -fsSL https://chatgpt.com/codex/install.sh | CODEX_NON_INTERACTIVE=1 sh et $env:CODEX_NON_INTERACTIVE=1; irm https://chatgpt.com/codex/install.ps1 | iex ; toujours pas de variante winget. ↩↩↩↩

  5. OpenAI, notes de version Codex CLI v0.106.0, 26 février 2026 – « Added a direct install script for macOS and Linux and publish it as a GitHub release asset, using the existing platform payload (including codex and rg) » ; install.sh est joint à chaque sortie depuis. La sortie rust-v0.163.0 (ressources listées via l’API GitHub Releases, 2026-10-15) porte install.sh et install.ps1, les fichiers codex-<target>.tar.gz, .zst et, pour macOS, .dmg par plateforme, des lots codex-package-<target>.tar.gz avec codex-package_SHA256SUMS, les binaires codex-app-server-* et codex-responses-api-proxy-*, des archives codex-npm-*.tgz et six fichiers openai_codex_cli_bin-0.163.0-*.whl ; PyPI décrit openai-codex-cli-bin comme « Pinned Codex CLI runtime for the Python SDK ». L’archive macOS arm64 téléchargée le 2026-10-15 contient l’unique entrée codex-aarch64-apple-darwin. ↩↩

  6. OpenAI, notes de version Codex CLI v0.146.0, 29 juillet 2026 – « Publish release artifacts, channel metadata, and installer aliases through OpenAI-hosted release infrastructure, with GitHub fallback. » https://chatgpt.com/codex/install.sh répond par un 302 vers https://releases.openai.com/codex/install.sh (vérifié le 2026-09-06 et le 2026-10-15) ; le README l’énonçait le 2026-10-15 : « The standalone installers download from https://releases.openai.com/codex by default and fall back to GitHub Releases if a metadata or asset download is unavailable. » ↩

  7. OpenAI, feat(cli): add codex doctor diagnostics, openai/codex PR #22336, fusionnée le 13 mai 2026 – les sections du rapport (Notes, Environment, Configuration, Updates, Connectivity, Background Server) et ses drapeaux --summary, --json, --all et --no-color. ↩↩

  8. OpenAI, Codex on Windows : Windows sandbox – tel que lu le 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 », et prefer_mxc = true sous [features] pour la CLI ; allow_mxc = false sous [windows] dans requirements.toml le bloque ; un test en une commande documenté pour « Codex CLI 0.162.0 and later » avec la sortie attendue MXC_OK ; les replis historiques [windows] sandbox = "elevated" (« the preferred legacy fallback ») et "unelevated" (« a legacy fallback » avec « 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 recommandé, « Recent, fully updated Windows 10 » classé « Best effort », avec « Windows 10 version 1809 or newer is required » pour la prise en charge de la console, Windows 10 plus ancien non recommandé ; winget attendu pour la configuration. Vérifié pour la première fois le 2026-09-06, quand la page ne décrivait que les deux modes historiques. ↩↩↩↩↩↩↩↩

  9. OpenAI, sorties openai/codex – rust-v0.163.0 publiée le 15 octobre 2026 à 21:30 UTC comme dernière sortie, après rust-v0.160.0 (1er octobre), rust-v0.160.1 (5 octobre), rust-v0.161.0 (7 octobre), rust-v0.162.0 (8 octobre) et rust-v0.162.1 (9 octobre) ; rust-v0.153.4 était la dernière le 4 septembre 2026 (d’après la lecture du 6 septembre ; la liste du 15 octobre remonte jusqu’au 1er octobre). Dates issues de l’API GitHub Releases. ↩↩↩

  10. npm, @openai/codex – latest = 0.163.0 (publiée le 2026-10-15 à 21:37 UTC), alpha = 0.163.0-alpha.11 (publiée le 2026-10-14 à 03:38 UTC) et engines: { node: ">=16" } sur la 0.163.0, d’après le document du registre le 2026-10-15 ; latest était 0.153.4 le 2026-09-06, et la table time du document liste quatorze versions stables après 0.146.1 jusqu’à 0.153.4 incluse (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 à 0.153.4). ↩↩↩↩↩↩

  11. OpenAI, documentation Codex CLI – l’installation s’ouvre sur l’installeur autonome (curl -fsSL https://chatgpt.com/codex/install.sh | sh sur macOS et Linux, un onglet installeur Windows), présente Homebrew et npm comme alternatives, et indique la relance de l’installeur comme mise à jour des installations autonomes. Vérifié le 2026-09-06 et de nouveau le 2026-10-15, quand les onglets d’installation étaient macOS/Linux, Windows, npm et Homebrew. ↩↩↩↩↩↩

  12. OpenAI, le script d’installation install.sh tel que servi le 2026-09-06 et relu le 2026-10-15 – Usage: install.sh [--release VERSION] ; variables d’environnement CODEX_RELEASE (« Version to install ; overridden by –release »), CODEX_INSTALL_DIR (par défaut ~/.local/bin), CODEX_HOME (par défaut ~/.codex) et CODEX_INSTALLER_USE_RELEASES_OPENAI_COM (« Set to 0, false, or no to use GitHub Releases ») ; versions rangées sous ~/.codex/packages/standalone/releases derrière un lien symbolique current, avec un lien symbolique codex (et codex-code-mode-host sur macOS) dans le répertoire bin ; un bloc PATH # >>> Codex installer >>> / # <<< Codex installer <<< ajouté à ~/.zprofile, ~/.bash_profile, ~/.zshrc, ~/.bashrc ou ~/.profile quand le répertoire bin n’est pas déjà sur PATH ou qu’une installation gérée concurrente a été détectée (add_to_path ne sort tôt sur une correspondance de PATH que si aucun conflit n’a été trouvé) ; et la vérification des installations concurrentes qui avertit « Multiple managed Codex installs can be ambiguous because PATH order decides which one runs » et propose brew uninstall --cask codex, npm uninstall -g @openai/codex ou bun remove -g @openai/codex. La copie du 2026-10-15 ajoute CODEX_NON_INTERACTIVE (« Set to 1, true, or yes to skip prompts ») au texte d’usage ; un mode réservé au démon (CODEX_INSTALL_DAEMON_ONLY=1, racine ~/.codex/packages/app-server-daemon, enregistrement de l’outil de mise à jour app-server-daemon/daemon-updater.pid, fichier marqueur auto-update-version, écrit pour une installation latest et supprimé pour une version explicite à la fin du script) avec le commentaire « An explicit daemon update may leave a local or pinned release. Scheduled updates still require the selected release to follow the latest channel. » sur le garde-fou qui sort quand la version sélectionnée n’est pas celle enregistrée ; et une préférence pour la ressource codex-package-<target>.tar.gz vérifiée contre codex-package_SHA256SUMS, l’archive npm de plateforme restant la disposition historique. Les bin/codex, bin/codex-code-mode-host et codex-path/rg du lot sont rendus exécutables, et le lien codex-code-mode-host n’est créé que sur macOS ; l’outil de mise à jour tourne comme sous-commande app-server daemon pid-update-loop (la vérification de propriété du script à la ligne 1266 l’invoque avec --check-package-ownership). ↩↩↩↩↩↩↩↩↩↩↩↩↩↩

  13. OpenAI, notes de version Codex CLI v0.149.0, 20 août 2026 – inclut #39630, « Retire the untrusted approval policy », et « codex doctor now diagnoses endpoint protection, network/proxy failures, desktop app state, and update connectivity. » ↩↩

  14. OpenAI, Codex on Windows : WSL, revérifié le 2026-10-15 – « Use Codex CLI with WSL » : wsl --install, ouvrir un shell WSL, puis curl -fsSL https://chatgpt.com/codex/install.sh | sh et codex ; la page conseille aussi de garder les dépôts sous le répertoire personnel Linux plutôt que sous des chemins /mnt/c/ montés depuis Windows, pour des E/S plus rapides. ↩

  15. Reproduction par l’auteur sur Codex CLI 0.153.4 (installation npm), 2026-09-06 : codex doctor --summary --no-color affiche les sections Notes, Environment, Configuration, Desktop App, Updates, Connectivity et Background Server dans cet ordre ; codex doctor --help liste --ascii. ↩

  16. OpenAI, référence de configuration Codex – check_for_update_on_startup (booléen) : « Check for Codex updates on startup (set to false only when updates are centrally managed) » ; features.in_app_updates (booléen) : « Set to false in requirements.toml to disable in-app updates. Updates remain enabled by default when this requirement is omitted. » Vérifié le 2026-09-06 et le 2026-10-15. ↩

  17. OpenAI, le script d’installation install.ps1 tel que servi le 2026-09-06 et relu le 2026-10-15 – bloc de paramètres param([string]$Release = $env:CODEX_RELEASE) avec latest en repli ; $codexHome = CODEX_HOME ou %USERPROFILE%\.codex ; packages\standalone contenant releases\, une jonction current et install.lock ; le répertoire bin visible %LOCALAPPDATA%\Programs\OpenAI\Codex\bin (ou CODEX_INSTALL_DIR) créé comme jonction vers current\bin ; le Path utilisateur écrit avec [Environment]::SetEnvironmentVariable("Path", ..., "User") (« PATH updated for future PowerShell sessions. »). La copie du 2026-10-15 calcule le SHA-256 de l’archive avec .NET (SHA256CryptoServiceProvider) et le compare au codex-package_SHA256SUMS de la sortie, en levant « Downloaded Codex archive checksum did not match expected digest » en cas de discordance. ↩↩↩↩

  18. OpenAI, notes de version Codex CLI v0.162.0, 8 octobre 2026 – « Publish a signed PowerShell installer with Windows releases. (#51158) » et « Fix archive checksum verification when installing through Windows PowerShell with PowerShell 7 module paths present. (#51257) ». PR #51158, fusionnée le 5 octobre 2026 : « sign scripts/install/install.ps1 with Azure Trusted Signing in the x64 release job » et « publish the signed artifact as install.ps1 instead of copying the unsigned source ». PR #51257, fusionnée le 6 octobre : « compute SHA-256 directly with .NET APIs after resolving the archive path ». ↩

  19. OpenAI, Add a CLI command to uninstall the legacy Windows sandbox, openai/codex PR #50437, fusionnée le 2 octobre 2026 et citée dans les notes de version de la v0.162.0 ; la description de la pull request : « Add codex sandbox uninstall to 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. » ↩

  20. OpenAI, codex-rs/app-server-daemon/README.md au tag rust-v0.163.0 – « codex-app-server-daemon is experimental and its lifecycle contract may change » ; les huit commandes (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. Edit CODEX_HOME/app-server-daemon/settings.json to change this » avec l’exemple "updater": { "autoUpdateEnabled": false, "updateIntervalMinutes": 120 } ; « It launches a detached updater loop when automatic updates are enabled, the installer selected the stable latest channel, and the managed binary supports the updater command » ; « New daemons use CODEX_HOME/packages/app-server-daemon/current/bin/codex » et « Daemon-only installer updates leave the user’s CLI command and shell setup alone » ; « Previously launched legacy daemons retain CODEX_HOME/packages/standalone/current, including its flat binary layout when present. Starts and scheduled updates keep using that location » ; le tableau des situations (« the selected release stays pinned » quand l’installeur a sélectionné une version explicite ; « the running server restarts with the new binary before the updater replaces itself ») ; les fichiers d’état sous CODEX_HOME/app-server-daemon/ tels que le README les liste (settings.json, app-server.pid, app-server-updater.pid, daemon.lock ; les daemon.pid et daemon-updater.pid du démon dédié viennent du code source, ci-dessous) ; « stop sends 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 new latest installation to opt into automatic updates; until then the daemon continues to serve app-server without updating the selected release » ; « daemon update selects 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 » et « Legacy installations migrate to the dedicated root once the published installer and release support migration » ; « bootstrap can use any complete CLI package. If no daemon package is installed, it copies the invoking package into CODEX_HOME/packages/app-server-daemon » et « A bare executable cannot supply a new installation ». Les noms des fichiers pid viennent du code source au même tag, 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" (lignes 54 à 57), la paire historique choisie seulement quand le binaire géré se trouve sous packages/standalone (lignes 334 à 337 et 376 à 379), stop qui arrête le backend en cours d’exécution (ligne 615), et l’outil de mise à jour arrêté par ensure_managed_updater lors d’un démarrage, d’un redémarrage ou d’un changement de contrôle à distance (lignes 893 à 930) et sur deux autres chemins du cycle de vie (lignes 474 à 477 et 829 à 832), jamais par stop, avec la phrase du README « the updater loop is not reboot-persistent » (ligne 145) ; les lignes de commande de src/backend/pid.rs (lignes 385 à 401 : app-server --listen unix:// pour le serveur, app-server --remote-control --listen unix:// avec le contrôle à distance activé, app-server daemon pid-update-loop pour l’outil de mise à jour). Également OpenAI, notes de version Codex CLI v0.157.0, publiées le 25 septembre 2026 à 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 », dont la pull request s’ouvre sur « Daemon updates discard installer stderr » ; v0.163.0, 15 octobre – « Restart a managed background server from /daemon. Codex warns about work the restart could interrupt, then reconnects automatically. (#53173) » et « #52223 Enforce application network policy for daemon updates ». Le mode démon de l’installeur et son garde-fou de mise à jour sont dans la note 12. ↩↩↩↩↩↩↩↩

  21. OpenAI, notes de version Codex CLI v0.161.0, 7 octobre 2026 – « Publishing an older alpha or hotfix no longer moves npm alpha tags backward. (#49704) ». ↩

  22. OpenAI, notes de version Codex CLI v0.162.0 – « #50200 Report the configured TUI mode in codex doctor ». ↩

Articles connexes

Installer et mettre à jour Claude Code CLI : Mac, Linux, Windows

Toutes les façons d'installer, de mettre à jour, d'épingler et de désinstaller Claude Code CLI -- installateur natif, Ho…

9 min de lecture

Codex abandonne la politique untrusted : que modifier

Codex CLI 0.149 abandonne la politique d’approbation untrusted et refuse de démarrer avec elle. L’erreur, qui doit agir,…

19 min de lecture

Foundation Models depuis Python : la CLI fm

macOS 27 ajoute la commande fm et un SDK Foundation Models pour Python : scriptez le modèle on-device d'Apple et bâtisse…

16 min de lecture