← Alle Beiträge

Codex CLI installieren und aktualisieren: Mac, Linux, Windows

Aus dem Leitfaden: Codex CLI Comprehensive Guide

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.sh auf macOS und Linux, das Skript install.ps1 auf 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/codex legt die Version mit einer gewöhnlichen Paketangabe (@<version>) fest; brew install --cask codex stand 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 update deckt 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 mit winget upgrade OpenAI.Codex. Die manuellen Entsprechungen für den Rest sind das erneute Ausführen des Installers, npm install -g @openai/codex@latest oder brew 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 latest gewä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 durch codex app-server daemon restart.2012
  • Version festlegen mit --release <version> bei install.sh, $env:CODEX_RELEASE vor der install.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 ~/.codex auch die CLI selbst, weil der Installer seine Releases unter ~/.codex/packages/standalone ablegt.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.



  1. OpenAI, openai/codex README – der Installationsabschnitt beginnt mit curl -fsSL https://chatgpt.com/codex/install.sh | sh für macOS und Linux und dem PowerShell-Einzeiler install.ps1 für Windows und sagt dann, die CLI „can also be installed via“ npm (npm install -g @openai/codex) und Homebrew (brew install --cask codex); dokumentiert curl -fsSL https://chatgpt.com/codex/install.sh | CODEX_INSTALLER_USE_RELEASES_OPENAI_COM=false sh und die PowerShell-Form $env:CODEX_INSTALLER_USE_RELEASES_OPENAI_COM='false', eingeleitet mit “To force GitHub Releases, set CODEX_INSTALLER_USE_RELEASES_OPENAI_COM to false (0 and no are 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. ↩↩↩↩↩↩↩↩↩

  2. Homebrew, Cask codex – Cask-Token codex, eine einzige aktuelle Version (0.163.0 am 2026-10-15, angehoben durch den Commit codex 0.163.0 in Homebrew/homebrew-cask um 21:44:02 UTC, dreizehn Minuten nach dem GitHub-Release um 21:30:38 UTC), ein Binärartefakt bin/codex mit daraus erzeugten Shell-Vervollständigungen, ein leeres depends_on, unterstützte Plattformen, die neben den macOS-Versionen x86_64_linux und arm64_linux umfassen, und eine Download-URL von codex-package-aarch64-apple-darwin.tar.gz auf 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 ist zap rmdir: "~/.codex", und das Cask Cookbook definiert rmdir: als Pfade von Verzeichnissen, die entfernt werden, wenn sie leer sind. ↩↩↩↩↩↩

  3. 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.yml in openai/codex hat einen winget-Job, der das Manifest mit komac einreicht (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, von oai-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. ↩↩↩↩↩

  4. 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 /statusline and /title edits.” 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 ist codex-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 hat Daemon(DaemonUpdateSource) hinzubekommen („Replace the local daemon after restoring the terminal“), und die Befehle für den eigenständigen Installer lauten curl -fsSL https://chatgpt.com/codex/install.sh | CODEX_NON_INTERACTIVE=1 sh und $env:CODEX_NON_INTERACTIVE=1; irm https://chatgpt.com/codex/install.ps1 | iex; weiterhin keine winget-Variante. ↩↩↩↩

  5. 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 codex and rg)”; install.sh hängt seitdem an jedem Release. Das Release rust-v0.163.0 (Assets über die GitHub-Releases-API aufgelistet, 2026-10-15) enthält install.sh und install.ps1, die plattformspezifischen codex-<target>.tar.gz-, .zst- und macOS-.dmg-Dateien, Bündel codex-package-<target>.tar.gz mit codex-package_SHA256SUMS, die Binärdateien codex-app-server-* und codex-responses-api-proxy-*, Tarballs codex-npm-*.tgz und sechs Dateien openai_codex_cli_bin-0.163.0-*.whl; PyPI beschreibt openai-codex-cli-bin als „Pinned Codex CLI runtime for the Python SDK“. Der am 2026-10-15 heruntergeladene macOS-arm64-Tarball enthält den einzigen Eintrag codex-aarch64-apple-darwin. ↩↩

  6. 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.sh antwortet mit 302 auf https://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 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, gemergt am 13. Mai 2026 – die Abschnitte des Berichts (Notes, Environment, Configuration, Updates, Connectivity, Background Server) und seine Flags --summary, --json, --all und --no-color. ↩↩

  8. 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 = true unter [features] für die CLI; allow_mxc = false unter [windows] in requirements.toml blockiert sie; ein Test mit einem einzigen Befehl, dokumentiert für „Codex CLI 0.162.0 and later“, mit der erwarteten Ausgabe MXC_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; winget wird für die Einrichtung als verfügbar erwartet. Erstmals verifiziert 2026-09-06, als die Seite nur die beiden Legacy-Modi beschrieb. ↩↩↩↩↩↩↩↩

  9. OpenAI, openai/codex Releases – rust-v0.163.0 veröffentlicht am 15. Oktober 2026 um 21:30 UTC als neuestes Release, nach rust-v0.160.0 (1. Oktober), rust-v0.160.1 (5. Oktober), rust-v0.161.0 (7. Oktober), rust-v0.162.0 (8. Oktober) und rust-v0.162.1 (9. Oktober); rust-v0.153.4 war 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. ↩↩↩

  10. 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) und engines: { node: ">=16" } auf 0.163.0, aus dem Registry-Dokument vom 2026-10-15; latest war 0.153.4 am 2026-09-06, und die time-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). ↩↩↩↩↩↩

  11. OpenAI, Codex CLI documentation – die Installation beginnt mit dem eigenständigen Installer (curl -fsSL https://chatgpt.com/codex/install.sh | sh auf 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. ↩↩↩↩↩↩

  12. OpenAI, das Installationsskript install.sh, wie am 2026-09-06 ausgeliefert und am 2026-10-15 erneut gelesen – Usage: install.sh [--release VERSION]; Umgebungsvariablen CODEX_RELEASE („Version to install; overridden by –release“), CODEX_INSTALL_DIR (Standard ~/.local/bin), CODEX_HOME (Standard ~/.codex) und CODEX_INSTALLER_USE_RELEASES_OPENAI_COM („Set to 0, false, or no to use GitHub Releases“); Releases abgelegt unter ~/.codex/packages/standalone/releases hinter einem current-Symlink, mit einem codex-Symlink (und codex-code-mode-host auf macOS) im bin-Verzeichnis; ein PATH-Block # >>> Codex installer >>> / # <<< Codex installer <<<, angehängt an ~/.zprofile, ~/.bash_profile, ~/.zshrc, ~/.bashrc oder ~/.profile, wenn das bin-Verzeichnis nicht bereits auf PATH liegt oder eine konkurrierende verwaltete Installation erkannt wurde (add_to_path kehrt bei einem PATH-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 und brew uninstall --cask codex, npm uninstall -g @openai/codex oder bun remove -g @openai/codex anbietet. Die Fassung vom 2026-10-15 ergänzt den Usage-Text um CODEX_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-Eintrag app-server-daemon/daemon-updater.pid, Markierungsdatei auto-update-version, am Ende des Skripts für eine latest-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 Assets codex-package-<target>.tar.gz, geprüft gegen codex-package_SHA256SUMS, mit dem plattformspezifischen npm-Tarball als Legacy-Layout. bin/codex, bin/codex-code-mode-host und codex-path/rg des Bündels werden ausführbar gemacht, und der Link codex-code-mode-host wird nur auf macOS angelegt; der Updater läuft als Unterbefehl app-server daemon pid-update-loop (die Eigentümerprüfung des Skripts in Zeile 1266 ruft ihn mit --check-package-ownership auf). ↩↩↩↩↩↩↩↩↩↩↩↩↩↩

  13. OpenAI, Codex CLI v0.149.0 Release Notes, 20. August 2026 – enthält #39630, “Retire the untrusted approval policy”, und “codex doctor now diagnoses endpoint protection, network/proxy failures, desktop app state, and update connectivity.” ↩↩

  14. OpenAI, Codex on Windows: WSL, erneut verifiziert 2026-10-15 – „Use Codex CLI with WSL“: wsl --install, eine WSL-Shell öffnen, dann curl -fsSL https://chatgpt.com/codex/install.sh | sh und codex; 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. ↩

  15. Reproduktion des Autors auf Codex CLI 0.153.4 (npm-Installation), 2026-09-06: codex doctor --summary --no-color gibt die Abschnitte Notes, Environment, Configuration, Desktop App, Updates, Connectivity und Background Server in dieser Reihenfolge aus; codex doctor --help listet --ascii. ↩

  16. 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. ↩

  17. OpenAI, das Installationsskript install.ps1, wie am 2026-09-06 ausgeliefert und am 2026-10-15 erneut gelesen – Parameterblock param([string]$Release = $env:CODEX_RELEASE) mit latest als Fallback; $codexHome = CODEX_HOME oder %USERPROFILE%\.codex; packages\standalone mit releases\, einer current-Junction und install.lock; das sichtbare bin-Verzeichnis %LOCALAPPDATA%\Programs\OpenAI\Codex\bin (oder CODEX_INSTALL_DIR), angelegt als Junction nach current\bin; der benutzerweite Path, 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 mit codex-package_SHA256SUMS des Releases und wirft bei Abweichung „Downloaded Codex archive checksum did not match expected digest“. ↩↩↩↩

  18. 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.ps1 with Azure Trusted Signing in the x64 release job“ und „publish the signed artifact as install.ps1 instead of copying the unsigned source“. PR #51257, gemergt am 6. Oktober: „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, gemergt am 2. Oktober 2026 und in den Release Notes zu v0.162.0 aufgeführt; die Beschreibung des Pull Requests: „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 beim Tag rust-v0.163.0 – „codex-app-server-daemon is 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. Edit CODEX_HOME/app-server-daemon/settings.json to 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 stable latest channel, and the managed binary supports the updater command“; „New daemons use CODEX_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 retain CODEX_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 unter CODEX_HOME/app-server-daemon/, wie das README sie aufführt (settings.json, app-server.pid, app-server-updater.pid, daemon.lock; daemon.pid und daemon-updater.pid des dedizierten Daemons stammen aus dem Quellcode, siehe unten); „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“ und „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“ 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 unter packages/standalone liegt (Zeilen 334 bis 337 und 376 bis 379), stop stoppt das laufende Backend (Zeile 615), und der Updater wird von ensure_managed_updater bei 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 durch stop, dazu der Satz des README „the updater loop is not reboot-persistent“ (Zeile 145); die Befehlszeilen aus src/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-loop fü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. ↩↩↩↩↩↩↩↩

  21. 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)“. ↩

  22. OpenAI, Codex CLI v0.162.0 Release Notes – „#50200 Report the configured TUI mode in codex doctor“. ↩

Verwandte Beiträge

Claude Code CLI installieren und aktualisieren: Mac, Linux, Windows

Alle Wege, das Claude Code CLI zu installieren, zu aktualisieren, auf eine Version festzunageln und wieder zu entfernen …

8 Min. Lesezeit

Codex untrusted Approval Policy abgeschafft: Was zu tun ist

Codex CLI 0.149 hat die untrusted Approval Policy abgeschafft und startet damit nicht mehr. Fehler, Betroffene und Fixes…

16 Min. Lesezeit

Foundation Models aus Python heraus: das fm CLI

macOS 27 bringt das Kommandozeilenwerkzeug fm und ein Foundation Models SDK für Python — Apples On-Device-Modell skripte…

15 Min. Lesezeit