Codex CLI installieren und aktualisieren: Mac, Linux, Windows
Die OpenAI Codex CLI zu installieren ist ein Befehl pro Plattform – curl -fsSL https://chatgpt.com/codex/install.sh | sh auf macOS und Linux, powershell -ExecutionPolicy ByPass -c "irm https://chatgpt.com/codex/install.ps1 | iex" auf Windows – mit npm und Homebrew als unterstützten Alternativen, und das Aktualisieren ist codex update, das Skript-, npm- und Homebrew-Installationen erkennt und das Upgrade des jeweiligen Kanals ausführt.1411 Der Teil, den die meisten Seiten überspringen, kommt nach dem ersten Befehl: welche der fünf Installationsrouten man wählt, wie man eine Version festlegt, wenn ein Release etwas kaputtmacht, warum das winget-Paket npm um Tage bis Wochen hinterherhinkt und was eine Deinstallation in ~/.codex zurücklässt. Diese Seite ist diese Referenz, eine Tabelle pro Aufgabe, auf dem Stand von v0.163.0 (15. Oktober 2026).9
Aktualisiert am 15. Oktober 2026 für v0.163.0. Seit der Septemberfassung dieser Seite haben sich vier Dinge bewegt. Der winget-Index ist in Bewegung gekommen: Nach einem Sommer, in dem seine Manifest-Anfragen wochenlang lagen, wurden die zwölf von 0.156.0 bis 0.161.0 jeweils innerhalb eines Tages nach dem Öffnen gemergt, doch die Anfragen für 0.162.0 und 0.162.1 warten seit dem 8. und 9. Oktober, sodass winget am 15. Oktober drei Releases hinter npm lag, gegenüber vierzehn (0.147.0 bis 0.153.4) am 6. September.310 Windows-Releases liefern ein signiertes install.ps1 mit (seine SHA-256-Prüfung ist älter; v0.162.0 hat sie unter Windows PowerShell repariert).18 Windows hat außerdem eine dritte Sandbox-Implementierung bekommen, Microsoft Execution Containers, mit den beiden Modi vom September als Fallbacks.8 Und der Hintergrundserver, den Codex inzwischen für berechtigte interaktive Sitzungen standardmäßig startet, betreibt einen eigenen Updater, der bei älteren Skript-Installationen auch das Paket der CLI selbst verschieben kann.20 Jeder Anker für Installation, Update und Festlegung weiter unten wurde am 15. Oktober neu gelesen; die Angaben zu codex doctor stammen von 0.153.4.910
TL;DR
- Der eigenständige Installer ist die Route, mit der OpenAI vorangeht, sowohl im README als auch in der CLI-Dokumentation, mit npm und Homebrew als Alternativen („you can also install“ in der CLI-Dokumentation, „can also be installed via“ im README): das Skript
install.shauf macOS und Linux, das Skriptinstall.ps1auf Windows. Es lädt die kompilierte Binärdatei herunter, braucht also kein Node.111 - npm und Homebrew sind unterstützte Alternativen.
npm install -g @openai/codexlegt die Version mit einer gewöhnlichen Paketangabe (@<version>) fest;brew install --cask codexstand beim Schreiben auf derselben 0.163.0 wie npm; der Cask wurde dreizehn Minuten nach dem Release angehoben.1210 - winget funktioniert, Tage bis Wochen hinterher. OpenAI veröffentlicht das Paket
OpenAI.Codex. Nach einem Sommer, in dem seine Manifest-Pull-Requests wochenlang ungemergt lagen, wurden die zwölf von 0.156.0 (22. September 2026) bis 0.161.0 (7. Oktober) jeweils innerhalb eines Tages nach dem Öffnen gemergt; dann blieben die Anfragen für 0.162.0 und 0.162.1 hängen, offen seit dem 8. und 9. Oktober. Am 15. Oktober war die neueste installierbare Version 0.161.0, gegenüber 0.163.0 bei npm, also drei stabile Releases dahinter, und auch die Anfrage für 0.163.0 war offen.310 codex updatedeckt Skript-, npm- und Homebrew-Installationen ab (ab v0.128.0): Es nutzt die Installationskanal-Erkennung wieder, die die TUI bereits hat, und führt das passende Upgrade aus. Eine winget-Installation ist kein Kanal, den es erkennt; die aktualisieren Sie mitwinget upgrade OpenAI.Codex. Die manuellen Entsprechungen für den Rest sind das erneute Ausführen des Installers,npm install -g @openai/codex@latestoderbrew upgrade --cask codex.411- Der Hintergrundserver betreibt einen Updater, und bei älteren Skript-Installationen kann er Ihre CLI verschieben. Seit v0.157.0 (25. September 2026 UTC) startet Codex für berechtigte interaktive Sitzungen standardmäßig einen verwalteten Hintergrundserver. Hat der Installer den Kanal
latestgewählt, prüft dieser Server fünf Minuten nach dem Start und danach stündlich auf Updates und führt dabei den Installer aus; ein neuer Daemon liegt unter~/.codex/packages/app-server-daemon, doch ein Daemon, der zuerst aus einer älteren Skript-Installation gestartet wurde, verwendet weiterhin~/.codex/packages/standalone/current, das eigene Paket der CLI. Der Schalter ist"updater": { "autoUpdateEnabled": false }in~/.codex/app-server-daemon/settings.json, wirksam durchcodex app-server daemon restart.2012 - Version festlegen mit
--release <version>beiinstall.sh,$env:CODEX_RELEASEvor derinstall.ps1-Zeile oder@<version>bei npm. Der Homebrew-Cask führt eine einzige aktuelle Version und kann nicht festlegen.212 - Das Paket zu deinstallieren entfernt Ihren Zustand nicht, aber bei einer Skript-Installation löscht
rm -rf ~/.codexauch die CLI selbst, weil der Installer seine Releases unter~/.codex/packages/standaloneablegt.12
Wie installiere ich die Codex CLI?
Vier Routen in der Reihenfolge, in der OpenAIs eigene Dokumentation sie präsentiert,111 plus winget auf Windows, das OpenAI nicht dokumentiert: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
Dann bestätigen Sie, dass es angekommen ist, und melden sich an:
codex --version # codex-cli 0.163.0
codex login # ChatGPT account (recommended) or an API key
Bei einer ersten Skript-Installation wirkt der Profilblock erst in neuen Shells. Wenn codex in dem Terminal, aus dem Sie installiert haben, nicht gefunden wird, führen Sie dort export PATH="$HOME/.local/bin:$PATH" aus oder öffnen ein neues; der Installer gibt zum Schluss dieselben zwei Zeilen aus („Current terminal“ und „Future terminals“).12
Lieber eine rohe Binärdatei? Jedes GitHub-Release liefert Plattform-Tarballs (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), und seit v0.106.0 hängt dasselbe install.sh als Asset an jedem Release. Jedes Archiv enthält einen einzigen Eintrag mit der Plattform im Namen; benennen Sie ihn nach dem Entpacken in codex um.15 Rund um diese Tarballs ist die Release-Seite gewachsen: .zst- und macOS-.dmg-Geschwister jeder Binärdatei; Bündel codex-package-<target>.tar.gz aus der Binärdatei, dem Hilfsprogramm codex-code-mode-host und ripgrep, die der Installer und der Homebrew-Cask herunterladen; die Binärdateien codex-app-server und codex-responses-api-proxy; und Python-Wheels openai_codex_cli_bin, die die festgelegte Laufzeit für OpenAIs Python SDK bilden und kein pip-Weg zur CLI sind.512
Der Installer lädt von OpenAI-gehosteter Release-Infrastruktur: chatgpt.com/codex/install.sh leitet auf releases.openai.com um, eine Änderung, die mit v0.146.0 kam, mit GitHub Releases als Fallback-Host.6 In einem Netzwerk, das OpenAIs Artefakt-Host blockiert oder drosselt, GitHub aber erlaubt, holen Sie das Skript vom Release-Asset und weisen es an, auch die Binärdatei von GitHub zu ziehen:112
curl -fsSL https://github.com/openai/codex/releases/latest/download/install.sh | CODEX_INSTALLER_USE_RELEASES_OPENAI_COM=false sh
Die Variable gehört auf die sh-Seite der Pipe. Die Form VAR=value curl ... | sh wendet die Variable nur auf curl an, sodass das Skript sie nie sieht und stillschweigend beim Standard bleibt. In PowerShell setzen Sie $env:CODEX_INSTALLER_USE_RELEASES_OPENAI_COM = 'false', bevor Sie die Installationszeile ausführen.
Welche Route sollten Sie wählen?
| Sie sind auf | Verwenden Sie | Warum |
|---|---|---|
| macOS oder Linux | das Installationsskript | Die Route, die OpenAIs Dokumentation zuerst nennt; lädt die Binärdatei, kein Node auf der Maschine11 |
| Windows | das PowerShell-Skript | Natives PowerShell mit der Windows-Sandbox; WSL ist optional811 |
| Jeder Maschine, auf der Sie Versionen in Skripten festlegen | npm install -g @openai/codex@<version> |
Legt per Paketangabe fest, sodass die Version in Ihrem Dockerfile oder Provisioning-Skript steht statt in einem Flag10 |
| macOS oder Linux, wo Homebrew bereits alles andere verwaltet | brew install --cask codex |
Am 15. Oktober dieselbe Version wie npm (der Cask wurde dreizehn Minuten nach dem Release angehoben), keine Node-Abhängigkeit, brew upgrade hält es aktuell2 |
| Windows, paketverwaltet | winget install OpenAI.Codex |
Wenn ein Rückstand hinter npm akzeptabel ist: drei Releases am 15. Oktober3 |
Welche Plattformen unterstützt Codex?
| Plattform | Status |
|---|---|
| macOS, Apple Silicon und Intel | Unterstützt; Binärdateien für beide1 |
| Linux, x86_64 und arm64 | Unterstützt; Binärdateien für beide1 |
| Windows 11 | Empfohlene Basis; MXC kam mit 24H2 (Build 26100.9278) und 25H2 (Build 26200.9278) und wird schrittweise ausgerollt, testen Sie es also mit der Prüfung per Einzelbefehl8 |
| Windows 10, Version 1809 oder neuer | Best Effort (ConPTY-Konsolenunterstützung erforderlich)8 |
| Älteres Windows 10 | Nicht empfohlen: fehlende Konsolenkomponenten8 |
| WSL2 | Optional; OpenAIs WSL-Seite führt dasselbe Installationsskript aus der WSL-Shell aus14 |
Auf Windows läuft Codex nativ in PowerShell mit einer Windows-Sandbox, und Stand Oktober 2026 gibt es drei Implementierungen. Die neueste sind die Microsoft Execution Containers (MXC), die Prozessisolation, die Microsoft mit Windows 11 24H2 und 25H2 eingeführt hat: Die Desktop-App bevorzugt sie für Verbraucherkonten, wenn das Gerät sie unterstützt; die CLI verwendet sie, wenn unter [features] prefer_mxc = true gesetzt ist, mit den Legacy-Modi als Fallback, oder wenn [windows] sandbox = "mxc" sie ausdrücklich wählt, was dann fehlschlägt statt auszuweichen, wo die Fähigkeit fehlt oder eine Richtlinie sie blockiert; ab v0.162.0 probiert ein Test mit einem einzigen Befehl (codex -c windows.sandbox=mxc sandbox ..., erwartete Ausgabe MXC_OK) sie aus, ohne die gespeicherte Auswahl zu ändern. Die beiden früheren Modi sind jetzt die Legacy-Fallbacks. elevated ist der bevorzugte: Er verwendet dedizierte Sandbox-Benutzer mit geringeren Rechten, Berechtigungsgrenzen im Dateisystem, Firewall-Regeln und Änderungen an lokalen Richtlinien und braucht eine vom Administrator genehmigte Einrichtung. unelevated führt Befehle mit einem eingeschränkten Windows-Token aus, das von Ihrem Benutzer abgeleitet ist, und mit ACL-basierten Dateisystemgrenzen, bei schwächerer Netzwerkisolation.8 Den Fallback wählen Sie in config.toml:
[windows]
sandbox = "elevated" # or "unelevated"; "mxc" selects the containers explicitly
OpenAIs Empfehlung ist, standardmäßig die native Sandbox zu verwenden und WSL zu wählen, wenn Sie Linux-natives Tooling brauchen, wenn Ihr Workflow ohnehin in WSL2 lebt oder wenn keine der nativen Windows-Sandbox-Implementierungen Ihre Anforderungen erfüllt.8 Eines sollte man auseinanderhalten: Die Windows-Einrichtung setzt voraus, dass winget für ihre eigenen Einrichtungsschritte auf der Maschine vorhanden ist; das ist etwas anderes, als Codex über winget zu installieren. OpenAI veröffentlicht dieses Paket – der Release-Workflow hat einen winget-Job, der für stabile Releases einen Manifest-Pull-Request in microsoft/winget-pkgs öffnet – und der Sommerstau des Index ist vorbei, wenn auch nicht endgültig. Die Daten hier sind UTC. Die Anfragen für 0.148.0 bis 0.152.0, geöffnet zwischen dem 18. August und dem 1. September, wurden am 11. September gemergt (0.151.0 am 30. September und 0.149.1 am 1. Oktober); die Anfrage für 0.147.0 wurde ungemergt geschlossen, ebenso die Einreichung eines Community-Mitglieds für 0.154.0, und OpenAIs Workflow öffnete keine für 0.152.1 oder für 0.153.x bis 0.155.x; von 0.156.0 (22. September) bis 0.161.0 (7. Oktober) wurden zwölf Manifeste in Folge jeweils innerhalb eines Tages nach dem Öffnen gemergt; dann blieben die Anfragen für 0.162.0 und 0.162.1 hängen, offen seit dem 8. und 9. Oktober. Am 15. Oktober enthielt der Index 138 Versionen, die neueste 0.161.0, drei stabile Releases hinter npm, und auch die Anfrage für 0.163.0 war offen. An der CLI ist nichts kaputt; das Paket hinkt Tage bis Wochen hinterher.38
Node.js ist nur für die npm-Route eine Voraussetzung. Die Installationsskripte laden die kompilierte Binärdatei herunter, und der Homebrew-Cask deklariert keine Abhängigkeiten.12
Wie aktualisiere ich die Codex CLI?
Die CLI, die Sie ausführen, aktualisiert sich nicht selbst, es sei denn, ein Updater des Hintergrundservers verwaltet dasselbe Paket (ältere Skript-Installationen, deren Server aus packages/standalone gestartet wurde, siehe unten). Die TUI bemerkt ein neueres Release und bietet den Befehl für Ihren Installationskanal an; ihn auszuführen liegt bei Ihnen, und der eingebaute deckt Skript-, npm- und Homebrew-Installationen ab.4 Die Startprüfung selbst ist ein Konfigurationsschlüssel: check_for_update_on_startup = false in config.toml, den die Referenz als „Check for Codex updates on startup (set to false only when updates are centrally managed)“ beschreibt; Flotten, die Updates zentral verwalten, setzen features.in_app_updates = false in 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 kam mit v0.128.0 am 30. April 2026; der Pull Request, der es hinzufügte, nutzte die Installationskanal-Erkennung und den Update-Runner wieder, die die TUI bereits für Update-Hinweise hatte. Die Kanalzuordnung umfasst npm (plus die Varianten bun, pnpm und Vite+), Homebrew und den eigenständigen Installer auf Unix und Windows; eine winget-Installation ist nicht darin, sodass ein per winget installiertes Codex nur über winget upgrade OpenAI.Codex aktualisiert wird. Am 15. Oktober erneut gelesen, hat die Zuordnung einen neuen Eintrag, eine Daemon-Aktion, die den lokalen Hintergrundserver ersetzt, sobald das Terminal wiederhergestellt ist, und ihre Befehle für den eigenständigen Installer führen ihn jetzt mit CODEX_NON_INTERACTIVE=1 aus; winget fehlt weiterhin.4 Die manuellen Entsprechungen, falls Sie sie bevorzugen oder ein Maschinenimage skripten:
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
Releases erscheinen auf einer schnellen stabilen Linie: 0.160.0 bis 0.163.0, sechs stabile Releases, kamen zwischen dem 1. und dem 15. Oktober 2026, sodass die Lücke zwischen „was ich nutze“ und „neueste“ oft eine Woche ist, kein Quartal.9
Der Hintergrundserver aktualisiert sich selbst
Der Hintergrundserver ist das Einzige, was nach Zeitplan neue Binärdateien holt. Seit v0.157.0 (25. September 2026 UTC) startet Codex für berechtigte interaktive Sitzungen standardmäßig einen verwalteten Hintergrundserver, und wenn der Installer den stabilen Kanal latest gewählt hat, startet dieser Server eine losgelöste Updater-Schleife: Sie prüft fünf Minuten nach dem Start und danach stündlich auf Updates, führt dabei jedes Mal den Installer aus, und ein laufender Server startet mit der neuen Binärdatei neu. Ein auf 0.163.0 installierter Daemon liegt in seinem eigenen Paket, ~/.codex/packages/app-server-daemon (dem Modus CODEX_INSTALL_DAEMON_ONLY=1 des Installers, der den CLI-Befehl und die Shell-Einrichtung des Benutzers unangetastet lässt), doch ein Daemon, der zuerst aus einer älteren Skript-Installation gestartet wurde, verwendet weiterhin ~/.codex/packages/standalone/current, und seine geplanten Updates verschieben dieses Paket, also die CLI, die Sie tippen (bei Installationen, die älter sind als die Kanalmarkierung des Installers, erst nach der nächsten latest-Installation, die codex update vornimmt; bis dahin bedient der Daemon weiter, ohne zu aktualisieren). Eine festgelegte Version bleibt festgelegt: Der Installer schreibt eine Markierung auto-update-version nur bei einer latest-Installation und entfernt sie bei einem ausdrücklich gewählten Release, und sein eigener Kommentar nennt die Regel: „Scheduled updates still require the selected release to follow the latest channel.“ Der Schalter pro Benutzer ist "updater": { "autoUpdateEnabled": false } in ~/.codex/app-server-daemon/settings.json, mit einem updateIntervalMinutes daneben; codex app-server daemon restart übernimmt den Aktivierungszustand, und ein geändertes Intervall greift beim nächsten Warten; codex app-server daemon stop stoppt den Server (erst eine reguläre Beendigungsanfrage, nach Ablauf der Schonfrist eine erzwungene; die Updater-Schleife ist ein eigener, über eine pid-Datei geführter Prozess, prüfen Sie also danach auf sie), /daemon in der TUI startet ihn neu (v0.163.0), und diese Updates befolgen die Netzwerkrichtlinie der Anwendung (v0.163.0). Ein ausdrückliches codex app-server daemon update wählt das neueste stabile Release, auch wenn automatische Updates ausgeschaltet sind, und verschiebt einen Legacy-Daemon auf sein eigenes Paketverzeichnis, sobald Installer und Release das unterstützen; es macht außerdem ein festgelegtes Paket wieder für Produktions-Updates berechtigt (die Einstellung für automatische Updates selbst bleibt erhalten) und startet einen laufenden Server neu, was aktive oder wartende Arbeit unterbrechen kann; ein gestoppter Server bleibt gestoppt. Das eigene README des Daemons nennt ihn experimentell.2012
Wie installiere ich eine bestimmte Version?
npm und das Installationsskript legen beide nach Version fest; Homebrew nicht: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
Achten Sie bei der Umgebungsvariablen-Form auf die Position: CODEX_RELEASE=0.162.1 muss vor sh stehen, nach der Pipe. Vor curl geschrieben gilt die Variable nur für curl, und das Skript installiert latest, während Sie glauben, festgelegt zu haben.12 Auf Windows deklariert das PowerShell-Skript $Release = $env:CODEX_RELEASE als seinen einzigen Parameter und fällt auf latest zurück, wenn er leer ist, sodass die Festlegung die Variable ist, gesetzt in derselben Sitzung:17
$env:CODEX_RELEASE = '0.162.1'; irm https://chatgpt.com/codex/install.ps1 | iex
Löschen Sie die Variable danach wieder (Remove-Item Env:CODEX_RELEASE): Sie bleibt für den Rest dieser Sitzung gesetzt, und ein späterer Installer-Lauf darin, auch der, den codex update startet, erbt die Festlegung.17
npm führt außerdem ein dist-tag alpha für die Vorabversionslinie (0.163.0-alpha.11 am 15. Oktober, veröffentlicht am 14. Oktober UTC, fast zwei Tage vor der stabilen 0.163.0); npm install -g @openai/codex@alpha folgt ihm, und seit v0.161.0 schiebt die Veröffentlichung einer älteren Alpha oder eines Hotfixes dieses Tag nicht mehr zurück.1021
Festlegen ist der richtige Zug, wenn ein Release Sie lahmlegt: Issue melden, auf die letzte gute Version festlegen, weitermachen. Prüfen Sie nach jeder Festlegung mit codex --version, denn eine zweite Installation anderswo auf Ihrem PATH liefert im Stillen weiter ihre eigene Binärdatei. Das Installationsskript prüft genau das: Findet es ein von Homebrew, npm oder bun verwaltetes codex bereits auf Ihrem PATH, warnt es „Multiple managed Codex installs can be ambiguous because PATH order decides which one runs“ und bietet an, die passende Deinstallation für Sie auszuführen; den Homebrew-Fall erkennt es an den macOS-Präfixen /opt/homebrew und /usr/local, und das nur auf macOS, sodass ein Linuxbrew-codex nicht erfasst wird.12 codex doctor meldet denselben Zustand nachträglich unter Environment.7
Wie deinstalliere ich die Codex CLI?
Stoppen Sie zuerst den Hintergrundserver, solange codex noch auf Ihrem PATH liegt, und entfernen Sie es dann über die Route, mit der es installiert wurde:
codex app-server daemon stop # first; skip if no server runs
npm uninstall -g @openai/codex
brew uninstall --cask codex
winget uninstall OpenAI.Codex
Eine Skript-Installation hat keinen Paketmanager, den man fragen könnte. Der Installer legt in ~/.local/bin einen Symlink codex an (überschreibbar mit CODEX_INSTALL_DIR), der auf die Binärdatei innerhalb von ~/.codex/packages/standalone/current zeigt (current/bin/codex in aktuellen Releases); current ist selbst ein Symlink in ~/.codex/packages/standalone/releases/, wo jedes heruntergeladene Release liegt. Auf macOS fügt der Installer neben dem ersten einen zweiten Symlink hinzu, codex-code-mode-host.12 Seit v0.157.0 kann es außerdem einen Hintergrundserver geben: sein Paket unter ~/.codex/packages/app-server-daemon (oder, bei einem Server, der zuerst aus einer älteren Installation gestartet wurde, das standalone-Paket selbst) und sein Zustand unter ~/.codex/app-server-daemon/ (settings.json, daemon.pid und daemon-updater.pid oder, bei einem Server, der aus dem standalone-Paket läuft, app-server.pid und app-server-updater.pid, sowie daemon.lock).20 Stoppen Sie ihn zuerst, dann entfernen Sie alles:
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
Der Server läuft als codex app-server --listen unix://, mit --remote-control vor --listen, wenn die Fernsteuerung aktiv ist (das listen-Argument ist das bloße Schema; auf der Befehlszeile erscheint kein Socket-Pfad), und sein Updater als codex app-server daemon pid-update-loop; die pid-Dateien unter ~/.codex/app-server-daemon/ sind der Test dafür, welcher Prozess zum Hintergrundserver gehört: daemon.pid und daemon-updater.pid für einen dedizierten Daemon, app-server.pid und app-server-updater.pid für einen Server, der aus dem standalone-Paket läuft. stop beendet den Server, nicht den Updater, der in seinem Intervall bis zu einem Neustart weiter aufwacht; lebt also eine dort verzeichnete pid noch, beenden Sie den Prozess jetzt mit kill <pid>; jeder andere codex app-server-Prozess gehört zu etwas anderem, das Sie ausführen. Dann entfernen Sie den Rest: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
Wenn ~/.local/bin bei der Installation nicht auf Ihrem PATH war oder der Installer eine konkurrierende Homebrew-, npm- oder bun-Installation fand und den Eintrag umschrieb, hat das Skript außerdem einen markierten Block an Ihr Shell-Profil angehängt: # >>> Codex installer >>> bis # <<< Codex installer <<< in ~/.zprofile (macOS zsh), ~/.bash_profile (macOS bash), ~/.zshrc (Linux zsh), ~/.bashrc (Linux bash) oder ~/.profile (jede andere Shell). Löschen Sie diese drei Zeilen, um fertig zu werden.12
Auf Windows behält install.ps1 dieselbe Anordnung unter %USERPROFILE%\.codex\packages\standalone (oder %CODEX_HOME%\packages\standalone, wenn Sie diese Variable gesetzt haben): heruntergeladene Releases in releases\, eine current-Junction, die auf das aktive zeigt. Es stellt codex.exe über %LOCALAPPDATA%\Programs\OpenAI\Codex\bin bereit (überschreibbar mit CODEX_INSTALL_DIR), das selbst eine Junction nach current\bin ist, und statt eines Profilblocks schreibt es diesen bin-Pfad für künftige PowerShell-Sitzungen in Ihren Benutzer-PATH. Der Hintergrundserver hat dort dieselben zwei Ordner, packages\app-server-daemon und app-server-daemon.1720 Stoppen Sie ihn, entfernen Sie das standalone-Verzeichnis und die beiden Ordner des Servers, dann die nun ins Leere zeigende bin-Junction, dann nehmen Sie den Eintrag unter Umgebungsvariablen wieder aus der Benutzervariablen Path heraus: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
Auch hier entscheiden die pid-Dateien: Lebt ein Prozess noch, dessen pid in %USERPROFILE%\.codex\app-server-daemon\daemon.pid oder daemon-updater.pid verzeichnet ist (oder in app-server.pid und app-server-updater.pid bei einem Server auf dem standalone-Paket), beenden Sie ihn jetzt mit Stop-Process -Id <pid>; jeder andere Codex-Prozess ist etwas anderes, das Sie ausführen. Dann entfernen Sie den Rest: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) ist die separate Bereinigung für die Legacy-Windows-Sandbox: Der Befehl entfernt die maschinenweiten Sandbox-Konten und Netzwerkregeln mit Administratorrechten, lässt das Codex-Home und die Sandbox-Verzeichnisse in Ruhe und wird auf anderen Plattformen abgelehnt.19
Stoppen Sie auf jeder Route zuerst den Hintergrundserver, falls einer läuft (codex app-server daemon stop), und sehen Sie nach ~/.codex/packages/app-server-daemon: Das README des Daemons sagt, dass bootstrap das aufrufende Paket in diesen Ordner kopiert, wenn kein Daemon-Paket existiert, und dass eine bloße ausführbare Datei keines liefern kann; ob der automatische Start bei einer Homebrew- oder npm-Installation ihn anlegt, wurde hier nicht getestet. Existiert der Ordner, entfernen Sie ihn und ~/.codex/app-server-daemon nach der Paketmanager-Deinstallation.20 Die Paketmanager-Deinstallationen oben rühren ~/.codex/ nicht an. Homebrews --zap in der Praxis auch nicht: Die einzige zap-Anweisung des Casks ist rmdir: "~/.codex", und Homebrew wendet rmdir: nur auf bereits leere Verzeichnisse an.2 Dieses Verzeichnis enthält config.toml, Ihre gespeicherten Zugangsdaten und jede Sitzung, weshalb eine Neuinstallation Login und Verlauf dort aufnimmt, wo Sie aufgehört haben. Löschen Sie es nur, wenn Sie wirklich reinen Tisch machen wollen, und wissen Sie, was das bei einer Skript-Installation bedeutet:
rm -rf ~/.codex # discards config.toml, credentials, all sessions -- AND the CLI itself on a script install
Eine saubere Neuinstallation, die Ihren Zustand behält, ist bei npm eine Zeile: npm uninstall -g @openai/codex && npm install -g @openai/codex@latest. Auf der Skript-Route legt das erneute Ausführen des Installers das neue Release unter ~/.codex/packages/standalone/releases ab, richtet current darauf aus, lässt die älteren Releases liegen, bis Sie sie entfernen, und lässt Ihre Konfiguration in Ruhe.12
Der ganze Lebenszyklus in einer Tabelle
| Aufgabe | install.sh (macOS, Linux) | install.ps1 (Windows) | npm | Homebrew | winget |
|---|---|---|---|---|---|
| Installieren | 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 |
| Aktualisieren | codex update oder das Skript erneut ausführen |
codex update oder das Skript erneut ausführen |
codex update oder npm install -g @openai/codex@latest |
codex update oder brew upgrade --cask codex |
winget upgrade OpenAI.Codex (codex update erkennt diese Route nicht) |
| Festlegen | sh -s -- --release 0.162.1 |
$env:CODEX_RELEASE = '0.162.1' vor der Installationszeile |
npm install -g @openai/[email protected] |
nicht unterstützt | winget install OpenAI.Codex --version 0.161.0 |
| Deinstallieren | codex app-server daemon stop, dann die Symlinks in ~/.local/bin, ~/.codex/packages/standalone, ~/.codex/packages/app-server-daemon und ~/.codex/app-server-daemon entfernen |
codex app-server daemon stop, dann %USERPROFILE%\.codex\packages\standalone, die Ordner packages\app-server-daemon und app-server-daemon des Servers, die Junction %LOCALAPPDATA%\Programs\OpenAI\Codex\bin und den Benutzer-PATH-Eintrag entfernen |
codex app-server daemon stop, falls ein Server läuft, dann npm uninstall -g @openai/codex, dann die Daemon-Ordner, falls vorhanden |
derselbe Stopp, dann brew uninstall --cask codex (--zap leert ein gefülltes ~/.codex nicht), dann die Daemon-Ordner, falls vorhanden |
derselbe Stopp, dann winget uninstall OpenAI.Codex, dann die Daemon-Ordner, falls vorhanden |
| Prüfen | codex --version, codex doctor |
dito | dito | dito | dito |
Was prüft codex doctor?
codex doctor ist der Befehl, den man ausführt, bevor man einen Bug meldet oder eine Installation debuggt, die „gestern noch funktionierte“. Auf 0.153.4 fasst es sieben Abschnitte in einem Bericht zusammen – Notes, Environment (Konsistenz von Laufzeit und Installation), Configuration (Ladestatus von config.toml, Auth, MCP, Sandbox-Richtlinie), Desktop App (hinzugefügt in v0.149.0), Updates, Connectivity und Background Server – mit --summary für eine kompakte Ansicht, --json für eine geschwärzte maschinenlesbare Form, --all zum Ausklappen gekürzter Listen und --no-color für Logs; codex doctor --help listet auf 0.153.4 auch --ascii; v0.162.0 hat den konfigurierten TUI-Modus in den Bericht aufgenommen.7131522 Die meisten „Codex ist kaputt“-Meldungen lösen sich in etwas auf, das es auf dem ersten Bildschirm benennt: ein veralteter Auth-Modus, eine config.toml, die nicht geparst werden konnte, oder eine zweite Installation, die die auf Ihrem PATH verdeckt. Die vollständige Aufschlüsselung Abschnitt für Abschnitt steht im Leitfaden.
Was sich nach der Installation ändert
Das Erste, worüber eine frische Installation stolpert, ist nicht die Binärdatei. Seit v0.149.0 verweigert die CLI den Start bei approval_policy = "untrusted", sodass eine von einer älteren Maschine kopierte config.toml eine Änderung braucht.13 Sie kommen von Claude Code? Der Migrationsbeitrag stellt die beiden Konfigurationen nebeneinander, und der Hooks-Beitrag behandelt, was Codex rund um das Modell ausführt. Der Codex-CLI-Leitfaden ist die vollständige Referenz: Sandbox- und Genehmigungsmodi, AGENTS.md, MCP, Skills und Cloud-Tasks. Und wenn Sie beide Werkzeuge nutzen, ist die Claude-Code-Installationsseite der Zwilling dieser Seite.
Häufige Fragen
Wie aktualisiere ich die Codex CLI auf die neueste Version?
Führen Sie codex update aus (ab v0.128.0); es erkennt, ob Sie über das Skript, npm oder Homebrew installiert haben, und führt das Upgrade dieses Kanals aus. Die manuellen Entsprechungen sind das erneute Ausführen des Installationsskripts, npm install -g @openai/codex@latest oder brew upgrade --cask codex. Eine winget-Installation ist kein Kanal, den codex update erkennt; verwenden Sie dafür winget upgrade OpenAI.Codex.
Aktualisiert sich die Codex CLI automatisch?
Die CLI nicht, mit einer Ausnahme. Die TUI prüft auf ein neueres Release und bietet den Update-Befehl an, der zu Ihrem Installationskanal passt, und codex update (ab v0.128.0) führt ihn aus. Die Ausnahme ist der Hintergrundserver, den Codex seit v0.157.0 standardmäßig startet: Auf dem Kanal latest prüft er fünf Minuten nach dem Start und danach stündlich auf Updates, und ein Server, der zuerst aus einer älteren Skript-Installation gestartet wurde, aktualisiert ~/.codex/packages/standalone, das eigene Paket der CLI, sobald eine latest-Installation den Kanal verzeichnet hat. Um das abzustellen, setzen Sie "updater": { "autoUpdateEnabled": false } in ~/.codex/app-server-daemon/settings.json und führen codex app-server daemon restart aus.
Wie deinstalliere ich die Codex CLI?
Stoppen Sie zuerst den Hintergrundserver, falls einer läuft (codex app-server daemon stop), und verwenden Sie dann die Route, mit der es installiert wurde: npm uninstall -g @openai/codex, brew uninstall --cask codex oder winget uninstall OpenAI.Codex; sehen Sie außerdem nach ~/.codex/packages/app-server-daemon und ~/.codex/app-server-daemon, die eine Paketmanager-Deinstallation zurücklässt. Bei einer Skript-Installation entfernen Sie nach demselben Stopp den Symlink ~/.local/bin/codex (und ~/.local/bin/codex-code-mode-host auf macOS), das Verzeichnis ~/.codex/packages/standalone sowie ~/.codex/packages/app-server-daemon und ~/.codex/app-server-daemon des Servers. Auf Windows besteht die Skript-Installation aus %USERPROFILE%\.codex\packages\standalone (plus den Ordnern packages\app-server-daemon und app-server-daemon des Servers), der Junction %LOCALAPPDATA%\Programs\OpenAI\Codex\bin und einem Eintrag in Ihrem Benutzer-PATH; entfernen Sie alles davon. Ihre Konfiguration, Zugangsdaten und Sitzungen bleiben in ~/.codex/, bis Sie den Rest dieses Verzeichnisses selbst entfernen.
Wie installiere ich die Codex CLI auf Windows?
Führen Sie powershell -ExecutionPolicy ByPass -c "irm https://chatgpt.com/codex/install.ps1 | iex" aus. Die CLI läuft nativ in PowerShell mit einer Windows-Sandbox (Microsoft Execution Containers, wenn Sie prefer_mxc = true setzen und das Gerät sie unterstützt, sonst Ihr konfigurierter Legacy-Modus, elevated, wenn keiner gesetzt ist; die ausdrückliche Wahl [windows] sandbox = "mxc" verwendet MXC oder schlägt fehl, ohne Fallback); WSL2 ist eine Option, wenn Sie Linux-Tooling brauchen oder keine der Sandbox-Implementierungen passt, keine Voraussetzung. Windows 11 ist die empfohlene Basis. winget install OpenAI.Codex funktioniert auch, hinkt aber der stabilen Linie hinterher.
Brauche ich Node.js, um Codex zu installieren?
Nur für die npm-Route, und das Paket verlangt Node 16 oder neuer. Das Installationsskript, das PowerShell-Skript und der Homebrew-Cask liefern alle die kompilierte codex-Binärdatei, sodass eine Maschine ohne Node Codex ausführen kann.
Wie prüfe ich, welche Version von Codex ich habe?
codex --version gibt sie aus (zum Beispiel codex-cli 0.163.0). npm view @openai/codex version zeigt die neueste veröffentlichte Version, und codex doctor meldet den Installationspfad und ob eine andere Kopie auf Ihrem PATH sie verdeckt.
-
OpenAI, openai/codex README – der Installationsabschnitt beginnt mit
curl -fsSL https://chatgpt.com/codex/install.sh | shfür macOS und Linux und dem PowerShell-Einzeilerinstall.ps1für Windows und sagt dann, die CLI „can also be installed via“ npm (npm install -g @openai/codex) und Homebrew (brew install --cask codex); dokumentiertcurl -fsSL https://chatgpt.com/codex/install.sh | CODEX_INSTALLER_USE_RELEASES_OPENAI_COM=false shund die PowerShell-Form$env:CODEX_INSTALLER_USE_RELEASES_OPENAI_COM='false', eingeleitet mit “To force GitHub Releases, setCODEX_INSTALLER_USE_RELEASES_OPENAI_COMtofalse(0andnoare also accepted)”; den Paketnamen@openai/codex; Plattform-Binärdateien für macOS (Apple Silicon, x86_64) und Linux (x86_64, arm64) auf GitHub Releases. Verifiziert 2026-09-06 und erneut 2026-10-15, als der Installationsabschnitt bis auf den in Anmerkung 6 zitierten Satz unverändert war. ↩↩↩↩↩↩↩↩↩ -
Homebrew, Cask
codex– Cask-Tokencodex, eine einzige aktuelle Version (0.163.0 am 2026-10-15, angehoben durch den Commitcodex 0.163.0in Homebrew/homebrew-cask um 21:44:02 UTC, dreizehn Minuten nach dem GitHub-Release um 21:30:38 UTC), ein Binärartefaktbin/codexmit daraus erzeugten Shell-Vervollständigungen, ein leeresdepends_on, unterstützte Plattformen, die neben den macOS-Versionenx86_64_linuxundarm64_linuxumfassen, und eine Download-URL voncodex-package-aarch64-apple-darwin.tar.gzauf dem GitHub-Release. Verifiziert über die formulae-API und die Commit-Liste von homebrew-cask 2026-10-15 (0.153.4 am 2026-09-06). Die zap-Anweisung des Casks istzap rmdir: "~/.codex", und das Cask Cookbook definiertrmdir:als Pfade von Verzeichnissen, die entfernt werden, wenn sie leer sind. ↩↩↩↩↩↩ -
Microsoft, winget-pkgs-Manifeste für
OpenAI.Codex– 138 veröffentlichte Versionen, neueste 0.161.0, am 2026-10-15 (119 und 0.146.1 am 2026-09-06); kein Manifest für 0.147.0, 0.152.1 oder 0.153.x bis 0.155.x. Das Paket wird von OpenAI veröffentlicht:.github/workflows/rust-release.ymlin openai/codex hat einenwinget-Job, der das Manifest mitkomaceinreicht (sein Kommentar: „Adapted from the WinGet Releaser version previously used by this job“; erneut gelesen 2026-10-15). Die Pull Requests laut der Repository-Suche vom 2026-10-15, Daten in UTC, vonoai-fork-bot, sofern nicht anders vermerkt: 0.147.0 (#413497) ungemergt geschlossen; 0.148.0 (#420225) bis 0.152.0 (#427090), geöffnet vom 18. August bis 1. September, gemergt am 11. September, außer 0.151.0 (#426091) am 30. September und 0.149.1 (#423060) am 1. Oktober; 0.154.0 (#435129, geöffnet von einem Community-Mitglied,z3oya) ungemergt geschlossen; 0.156.0 (#439266) bis 0.161.0 (#448267), zwölf Anfragen, geöffnet vom 22. September bis 7. Oktober, jede am Tag des Öffnens oder am folgenden gemergt; 0.162.0 (#449062), 0.162.1 (#449772) und 0.163.0 (#453561) am 2026-10-15 offen. OpenAIs README und CLI-Dokumentation erwähnen winget nicht. ↩↩↩↩↩ -
OpenAI, Codex CLI v0.128.0 Release Notes, 30. April 2026 – “Added
codex update, configurable TUI keymaps, plan-mode nudges, action-required terminal titles, and active-turn/statuslineand/titleedits.” Der Pull Request des Befehls, openai/codex #19933 (gemergt am 28. April 2026), erklärt: “Reused the existing install-channel detection and update command runner that the TUI already uses for update prompts.” Die Kanalzuordnung istcodex-rs/tui/src/update_action.rs: npm und seine Geschwister bun, pnpm und Vite+, Homebrew und der eigenständige Installer (Unix und Windows); keine winget-Variante (gelesen 2026-09-06). Erneut gelesen 2026-10-15: Das Enum hatDaemon(DaemonUpdateSource)hinzubekommen („Replace the local daemon after restoring the terminal“), und die Befehle für den eigenständigen Installer lautencurl -fsSL https://chatgpt.com/codex/install.sh | CODEX_NON_INTERACTIVE=1 shund$env:CODEX_NON_INTERACTIVE=1; irm https://chatgpt.com/codex/install.ps1 | iex; weiterhin keine winget-Variante. ↩↩↩↩ -
OpenAI, Codex CLI v0.106.0 Release Notes, 26. Februar 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.shhängt seitdem an jedem Release. Das Release rust-v0.163.0 (Assets über die GitHub-Releases-API aufgelistet, 2026-10-15) enthältinstall.shundinstall.ps1, die plattformspezifischencodex-<target>.tar.gz-,.zst- und macOS-.dmg-Dateien, Bündelcodex-package-<target>.tar.gzmitcodex-package_SHA256SUMS, die Binärdateiencodex-app-server-*undcodex-responses-api-proxy-*, Tarballscodex-npm-*.tgzund sechs Dateienopenai_codex_cli_bin-0.163.0-*.whl; PyPI beschreibtopenai-codex-cli-binals „Pinned Codex CLI runtime for the Python SDK“. Der am 2026-10-15 heruntergeladene macOS-arm64-Tarball enthält den einzigen Eintragcodex-aarch64-apple-darwin. ↩↩ -
OpenAI, Codex CLI v0.146.0 Release Notes, 29. Juli 2026 – „Publish release artifacts, channel metadata, and installer aliases through OpenAI-hosted release infrastructure, with GitHub fallback.“
https://chatgpt.com/codex/install.shantwortet mit 302 aufhttps://releases.openai.com/codex/install.sh(geprüft 2026-09-06 und 2026-10-15); das README sagte es am 2026-10-15 so: „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, gemergt am 13. Mai 2026 – die Abschnitte des Berichts (Notes, Environment, Configuration, Updates, Connectivity, Background Server) und seine Flags--summary,--json,--allund--no-color. ↩↩ -
OpenAI, Codex on Windows: Windows sandbox – gelesen 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“, und
prefer_mxc = trueunter[features]für die CLI;allow_mxc = falseunter[windows]inrequirements.tomlblockiert sie; ein Test mit einem einzigen Befehl, dokumentiert für „Codex CLI 0.162.0 and later“, mit der erwarteten AusgabeMXC_OK; die Legacy-Fallbacks[windows] sandbox = "elevated"(„the preferred legacy fallback“) und"unelevated"(„a legacy fallback“ mit „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 empfohlen, „Recent, fully updated Windows 10“ als „Best effort“ eingestuft, mit „Windows 10 version 1809 or newer is required“ für die Konsolenunterstützung, älteres Windows 10 nicht empfohlen;wingetwird für die Einrichtung als verfügbar erwartet. Erstmals verifiziert 2026-09-06, als die Seite nur die beiden Legacy-Modi beschrieb. ↩↩↩↩↩↩↩↩ -
OpenAI, openai/codex Releases –
rust-v0.163.0veröffentlicht am 15. Oktober 2026 um 21:30 UTC als neuestes Release, nachrust-v0.160.0(1. Oktober),rust-v0.160.1(5. Oktober),rust-v0.161.0(7. Oktober),rust-v0.162.0(8. Oktober) undrust-v0.162.1(9. Oktober);rust-v0.153.4war am 4. September 2026 das neueste (laut der Abfrage vom 6. September; die Liste vom 15. Oktober reicht bis zum 1. Oktober zurück). Daten aus der GitHub-Releases-API. ↩↩↩ -
npm,
@openai/codex–latest= 0.163.0 (veröffentlicht 2026-10-15 21:37 UTC),alpha= 0.163.0-alpha.11 (veröffentlicht 2026-10-14 03:38 UTC) undengines: { node: ">=16" }auf 0.163.0, aus dem Registry-Dokument vom 2026-10-15;latestwar 0.153.4 am 2026-09-06, und dietime-Zuordnung des Dokuments listet vierzehn stabile Versionen nach 0.146.1 bis einschließlich 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 bis 0.153.4). ↩↩↩↩↩↩ -
OpenAI, Codex CLI documentation – die Installation beginnt mit dem eigenständigen Installer (
curl -fsSL https://chatgpt.com/codex/install.sh | shauf macOS und Linux, ein Windows-Installer-Tab), präsentiert Homebrew und npm als Alternativen und nennt das erneute Ausführen des Installers als Update für eigenständige Installationen. Verifiziert 2026-09-06 und erneut 2026-10-15, als die Installations-Tabs macOS/Linux, Windows, npm und Homebrew waren. ↩↩↩↩↩↩ -
OpenAI, das Installationsskript
install.sh, wie am 2026-09-06 ausgeliefert und am 2026-10-15 erneut gelesen –Usage: install.sh [--release VERSION]; UmgebungsvariablenCODEX_RELEASE(„Version to install; overridden by –release“),CODEX_INSTALL_DIR(Standard~/.local/bin),CODEX_HOME(Standard~/.codex) undCODEX_INSTALLER_USE_RELEASES_OPENAI_COM(„Set to 0, false, or no to use GitHub Releases“); Releases abgelegt unter~/.codex/packages/standalone/releaseshinter einemcurrent-Symlink, mit einemcodex-Symlink (undcodex-code-mode-hostauf macOS) im bin-Verzeichnis; einPATH-Block# >>> Codex installer >>>/# <<< Codex installer <<<, angehängt an~/.zprofile,~/.bash_profile,~/.zshrc,~/.bashrcoder~/.profile, wenn das bin-Verzeichnis nicht bereits aufPATHliegt oder eine konkurrierende verwaltete Installation erkannt wurde (add_to_pathkehrt bei einemPATH-Treffer nur dann vorzeitig zurück, wenn kein Konflikt gefunden wurde); und die Prüfung auf konkurrierende Installationen, die „Multiple managed Codex installs can be ambiguous because PATH order decides which one runs“ warnt undbrew uninstall --cask codex,npm uninstall -g @openai/codexoderbun remove -g @openai/codexanbietet. Die Fassung vom 2026-10-15 ergänzt den Usage-Text umCODEX_NON_INTERACTIVE(„Set to 1, true, or yes to skip prompts“); einen reinen Daemon-Modus (CODEX_INSTALL_DAEMON_ONLY=1, Wurzel~/.codex/packages/app-server-daemon, Updater-Eintragapp-server-daemon/daemon-updater.pid, Markierungsdateiauto-update-version, am Ende des Skripts für einelatest-Installation geschrieben und für ein ausdrücklich gewähltes Release entfernt) mit dem Kommentar „An explicit daemon update may leave a local or pinned release. Scheduled updates still require the selected release to follow the latest channel.“ an der Schutzprüfung, die abbricht, wenn das gewählte Release nicht das verzeichnete ist; und eine Bevorzugung des Assetscodex-package-<target>.tar.gz, geprüft gegencodex-package_SHA256SUMS, mit dem plattformspezifischen npm-Tarball als Legacy-Layout.bin/codex,bin/codex-code-mode-hostundcodex-path/rgdes Bündels werden ausführbar gemacht, und der Linkcodex-code-mode-hostwird nur auf macOS angelegt; der Updater läuft als Unterbefehlapp-server daemon pid-update-loop(die Eigentümerprüfung des Skripts in Zeile 1266 ruft ihn mit--check-package-ownershipauf). ↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
OpenAI, Codex CLI v0.149.0 Release Notes, 20. August 2026 – enthält #39630, “Retire the untrusted approval policy”, und “
codex doctornow diagnoses endpoint protection, network/proxy failures, desktop app state, and update connectivity.” ↩↩ -
OpenAI, Codex on Windows: WSL, erneut verifiziert 2026-10-15 – „Use Codex CLI with WSL“:
wsl --install, eine WSL-Shell öffnen, danncurl -fsSL https://chatgpt.com/codex/install.sh | shundcodex; die Seite rät außerdem, Repositories unter dem Linux-Home-Verzeichnis statt unter Windows-gemounteten/mnt/c/-Pfaden zu halten, für schnellere I/O. ↩ -
Reproduktion des Autors auf Codex CLI 0.153.4 (npm-Installation), 2026-09-06:
codex doctor --summary --no-colorgibt die Abschnitte Notes, Environment, Configuration, Desktop App, Updates, Connectivity und Background Server in dieser Reihenfolge aus;codex doctor --helplistet--ascii. ↩ -
OpenAI, Codex config reference –
check_for_update_on_startup(boolean): „Check for Codex updates on startup (set to false only when updates are centrally managed)“;features.in_app_updates(boolean): „Set to false in requirements.toml to disable in-app updates. Updates remain enabled by default when this requirement is omitted.“ Verifiziert 2026-09-06 und 2026-10-15. ↩ -
OpenAI, das Installationsskript
install.ps1, wie am 2026-09-06 ausgeliefert und am 2026-10-15 erneut gelesen – Parameterblockparam([string]$Release = $env:CODEX_RELEASE)mitlatestals Fallback;$codexHome=CODEX_HOMEoder%USERPROFILE%\.codex;packages\standalonemitreleases\, einercurrent-Junction undinstall.lock; das sichtbare bin-Verzeichnis%LOCALAPPDATA%\Programs\OpenAI\Codex\bin(oderCODEX_INSTALL_DIR), angelegt als Junction nachcurrent\bin; der benutzerweitePath, geschrieben mit[Environment]::SetEnvironmentVariable("Path", ..., "User")(„PATH updated for future PowerShell sessions.“). Die Fassung vom 2026-10-15 berechnet den SHA-256 des Archivs mit .NET (SHA256CryptoServiceProvider), vergleicht ihn mitcodex-package_SHA256SUMSdes Releases und wirft bei Abweichung „Downloaded Codex archive checksum did not match expected digest“. ↩↩↩↩ -
OpenAI, Codex CLI v0.162.0 Release Notes, 8. Oktober 2026 – „Publish a signed PowerShell installer with Windows releases. (#51158)“ und „Fix archive checksum verification when installing through Windows PowerShell with PowerShell 7 module paths present. (#51257)“. PR #51158, gemergt am 5. Oktober 2026: „sign
scripts/install/install.ps1with Azure Trusted Signing in the x64 release job“ und „publish the signed artifact asinstall.ps1instead of copying the unsigned source“. PR #51257, gemergt am 6. Oktober: „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, gemergt am 2. Oktober 2026 und in den Release Notes zu v0.162.0 aufgeführt; die Beschreibung des Pull Requests: „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.mdbeim Tag rust-v0.163.0 – „codex-app-server-daemonis experimental and its lifecycle contract may change“; die acht Befehle (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“ mit dem Beispiel"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“ und „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“; die Tabelle der Situationen („the selected release stays pinned“, wenn der Installer ein ausdrückliches Release gewählt hat; „the running server restarts with the new binary before the updater replaces itself“); die Zustandsdateien unterCODEX_HOME/app-server-daemon/, wie das README sie aufführt (settings.json,app-server.pid,app-server-updater.pid,daemon.lock;daemon.pidunddaemon-updater.piddes dedizierten Daemons stammen aus dem Quellcode, siehe unten); „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“ und „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“ und „A bare executable cannot supply a new installation“. Die pid-Dateinamen stammen aus dem Quellcode beim selben 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"(Zeilen 54 bis 57), das Legacy-Paar nur gewählt, wenn die verwaltete Binärdatei unterpackages/standaloneliegt (Zeilen 334 bis 337 und 376 bis 379),stopstoppt das laufende Backend (Zeile 615), und der Updater wird vonensure_managed_updaterbei einem Start, Neustart oder einer Änderung der Fernsteuerung gestoppt (Zeilen 893 bis 930) sowie auf zwei weiteren Lebenszykluspfaden (Zeilen 474 bis 477 und 829 bis 832), nie durchstop, dazu der Satz des README „the updater loop is not reboot-persistent“ (Zeile 145); die Befehlszeilen aussrc/backend/pid.rs(Zeilen 385 bis 401:app-server --listen unix://für den Server,app-server --remote-control --listen unix://bei aktiver Fernsteuerung,app-server daemon pid-update-loopfür den Updater). Außerdem OpenAI, Codex CLI v0.157.0 Release Notes, veröffentlicht am 25. September 2026 um 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“, dessen Pull Request mit „Daemon updates discard installer stderr“ beginnt; v0.163.0, 15. Oktober – „Restart a managed background server from/daemon. Codex warns about work the restart could interrupt, then reconnects automatically. (#53173)“ und „#52223 Enforce application network policy for daemon updates“. Der Daemon-Modus des Installers und seine Update-Schutzprüfung stehen in Anmerkung 12. ↩↩↩↩↩↩↩↩ -
OpenAI, Codex CLI v0.161.0 Release Notes, 7. Oktober 2026 – „Publishing an older alpha or hotfix no longer moves npm alpha tags backward. (#49704)“. ↩
-
OpenAI, Codex CLI v0.162.0 Release Notes – „#50200 Report the configured TUI mode in
codex doctor“. ↩