Instalacja i aktualizacja Codex CLI: Mac, Linux, Windows
Instalacja OpenAI Codex CLI to jedno polecenie na platformę – curl -fsSL https://chatgpt.com/codex/install.sh | sh na macOS i Linuksie, powershell -ExecutionPolicy ByPass -c "irm https://chatgpt.com/codex/install.ps1 | iex" na Windows – z npm i Homebrew jako wspieranymi alternatywami, a aktualizacja to codex update, które rozpoznaje instalacje ze skryptu, npm i Homebrew i uruchamia upgrade właściwy dla danego kanału.1411 Część, którą większość stron pomija, zaczyna się po pierwszym poleceniu: którą z pięciu ścieżek instalacji wybrać, jak przypiąć wersję, gdy nowe wydanie coś psuje, dlaczego pakiet winget odstaje od npm o dni, a nawet tygodnie i co po odinstalowaniu zostaje w ~/.codex. Ta strona jest tym odniesieniem: jedna tabela na zadanie, aktualna na v0.163.0 (15 października 2026).9
Zaktualizowano 15 października 2026 dla v0.163.0. Od wrześniowej wersji tej strony zmieniły się cztery rzeczy. Indeks winget ruszył: po lecie, w którym wnioski z manifestami czekały tygodniami, dwanaście wniosków od 0.156.0 do 0.161.0 scalono w ciągu doby od otwarcia, ale wnioski dla 0.162.0 i 0.162.1 czekają od 8 i 9 października, więc 15 października winget był trzy wydania za npm, wobec czternastu (0.147.0 do 0.153.4) 6 września.310 Wydania dla Windows zawierają podpisany install.ps1 (jego sprawdzanie SHA-256 jest starsze; v0.162.0 naprawiło je w Windows PowerShell).18 Windows zyskał też trzecią implementację piaskownicy, Microsoft Execution Containers, z dwoma wrześniowymi trybami jako zapasowymi.8 A serwer w tle, który Codex uruchamia teraz domyślnie dla kwalifikujących się sesji interaktywnych, ma własny aktualizator, który przy starszych instalacjach ze skryptu może przestawić pakiet samego CLI.20 Każdy punkt odniesienia dotyczący instalacji, aktualizacji i przypinania poniżej odczytano ponownie 15 października; odczyt codex doctor pochodzi z 0.153.4.910
TL;DR
- Samodzielny instalator to ścieżka, którą OpenAI stawia na pierwszym miejscu zarówno w README, jak i w dokumentacji CLI, a npm i Homebrew są przedstawiane jako alternatywy („you can also install” w dokumentacji CLI, „can also be installed via” w README): skrypt
install.shna macOS i Linuksie, skryptinstall.ps1na Windows. Pobiera skompilowany plik binarny, więc nie potrzebuje Node’a.111 - npm i Homebrew to wspierane alternatywy.
npm install -g @openai/codexprzypina wersję zwykłą specyfikacją pakietu (@<version>);brew install --cask codexbyło w chwili pisania na tym samym 0.163.0 co npm; cask podbito trzynaście minut po wydaniu.1210 - winget działa, z opóźnieniem od dni do tygodni. OpenAI publikuje pakiet
OpenAI.Codex. Po lecie, w którym pull requesty z manifestami tygodniami leżały niescalone, dwanaście od 0.156.0 (22 września 2026) do 0.161.0 (7 października) scalono, każdy w ciągu doby od otwarcia; potem wnioski dla 0.162.0 i 0.162.1 utknęły, otwarte od 8 i 9 października. 15 października najnowszą instalowalną wersją była 0.161.0 wobec 0.163.0 w npm, czyli trzy stabilne wydania w tyle, a wniosek dla 0.163.0 również był otwarty.310 codex updateobejmuje instalacje ze skryptu, npm i Homebrew (v0.128.0 i nowsze): wykorzystuje wykrywanie kanału instalacji, które TUI już ma, i uruchamia pasujący upgrade. Instalacja przez winget nie jest kanałem, który rozpoznaje; tę aktualizuj przezwinget upgrade OpenAI.Codex. Ręczne odpowiedniki dla pozostałych to ponowne uruchomienie instalatora,npm install -g @openai/codex@latestalbobrew upgrade --cask codex.411- Serwer w tle uruchamia aktualizator, a przy starszych instalacjach ze skryptu może przestawić Twoje CLI. Od v0.157.0 (25 września 2026 UTC) Codex domyślnie uruchamia zarządzany serwer w tle dla kwalifikujących się sesji interaktywnych. Gdy instalator wybrał kanał
latest, ten serwer sprawdza aktualizacje pięć minut po starcie, a potem co godzinę, uruchamiając instalator; nowy daemon mieszka w~/.codex/packages/app-server-daemon, ale daemon uruchomiony po raz pierwszy ze starszej instalacji ze skryptu dalej używa~/.codex/packages/standalone/current, czyli własnego pakietu CLI. Przełącznikiem jest"updater": { "autoUpdateEnabled": false }w~/.codex/app-server-daemon/settings.json, stosowany przezcodex app-server daemon restart.2012 - Przypinaj wersję przez
--release <version>winstall.sh,$env:CODEX_RELEASEprzed liniąinstall.ps1albo@<version>w npm. Cask Homebrew śledzi jedną bieżącą wersję i nie umie przypinać.212 - Odinstalowanie pakietu nie usuwa Twojego stanu, ale przy instalacji ze skryptu
rm -rf ~/.codexusuwa także samo CLI, bo instalator trzyma wydania w~/.codex/packages/standalone.12
Jak zainstalować Codex CLI?
Cztery ścieżki w kolejności, w jakiej przedstawia je własna dokumentacja OpenAI,111 plus winget na Windows, którego OpenAI nie dokumentuje: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
Potem potwierdź, że instalacja się udała, i zaloguj się:
codex --version # codex-cli 0.163.0
codex login # ChatGPT account (recommended) or an API key
Przy pierwszej instalacji ze skryptu blok w profilu działa dopiero w nowych powłokach. Jeśli w terminalu, z którego instalowałeś, codex nie jest znajdowany, uruchom tam export PATH="$HOME/.local/bin:$PATH" albo otwórz nowy terminal; instalator wypisuje na koniec te same dwie linie („Current terminal” i „Future terminals”).12
Wolisz surowy plik binarny? Każde wydanie na GitHubie zawiera tarballe dla platform (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), a od v0.106.0 ten sam install.sh jest dołączany do każdego wydania jako zasób. Każde archiwum zawiera jeden wpis z nazwą platformy wpisaną w nazwę pliku, więc po rozpakowaniu zmień jego nazwę na codex.15 Wokół tych tarballi strona wydania się rozrosła: pliki .zst i macOS-owe .dmg obok każdego pliku binarnego; pakiety codex-package-<target>.tar.gz z plikiem binarnym, pomocnikiem codex-code-mode-host i ripgrepem, które pobierają instalator i cask Homebrew; pliki binarne codex-app-server i codex-responses-api-proxy; oraz wheele Pythona openai_codex_cli_bin, które są przypiętym środowiskiem uruchomieniowym dla Python SDK od OpenAI, a nie drogą do CLI przez pip.512
Instalator pobiera z infrastruktury wydań hostowanej przez OpenAI: chatgpt.com/codex/install.sh przekierowuje do releases.openai.com, zmiana, która weszła w v0.146.0, a GitHub Releases pozostaje hostem zapasowym.6 W sieci, która blokuje lub dławi hosta artefaktów OpenAI, ale przepuszcza GitHuba, pobierz skrypt z zasobu wydania i każ mu pobrać plik binarny również z GitHuba:112
curl -fsSL https://github.com/openai/codex/releases/latest/download/install.sh | CODEX_INSTALLER_USE_RELEASES_OPENAI_COM=false sh
Zmienna idzie po stronie sh potoku. Forma VAR=value curl ... | sh stosuje zmienną tylko do curl, więc skrypt nigdy jej nie widzi i po cichu zostaje przy domyślnym ustawieniu. W PowerShellu ustaw $env:CODEX_INSTALLER_USE_RELEASES_OPENAI_COM = 'false' przed uruchomieniem linii instalacyjnej.
Którą ścieżkę wybrać?
| Jesteś na | Użyj | Dlaczego |
|---|---|---|
| macOS lub Linux | skryptu instalacyjnego | Ścieżka, którą dokumentacja OpenAI wymienia jako pierwszą; pobiera plik binarny, bez Node’a na maszynie11 |
| Windows | skryptu PowerShell | Natywny PowerShell z piaskownicą Windows; WSL jest opcjonalny811 |
| Dowolnej maszynie, na której przypinasz wersje w skryptach | npm install -g @openai/codex@<version> |
Przypina jako specyfikację pakietu, więc wersja żyje w Twoim Dockerfile albo skrypcie provisioningu, a nie we fladze10 |
| macOS lub Linux, gdzie Homebrew zarządza już wszystkim innym | brew install --cask codex |
15 października ta sama wersja co w npm (cask podbito trzynaście minut po wydaniu), bez zależności od Node’a, brew upgrade utrzymuje aktualność2 |
| Windows, zarządzanym pakietami | winget install OpenAI.Codex |
Jeśli opóźnienie względem npm jest do przyjęcia: 15 października trzy wydania3 |
Które platformy obsługuje Codex?
| Platforma | Status |
|---|---|
| macOS, Apple silicon i Intel | Obsługiwane; pliki binarne dla obu1 |
| Linux, x86_64 i arm64 | Obsługiwane; pliki binarne dla obu1 |
| Windows 11 | Zalecana baza; MXC pojawiło się w 24H2 (kompilacja 26100.9278) i 25H2 (kompilacja 26200.9278) i jest wdrażane stopniowo, więc warto je przetestować sprawdzeniem jednym poleceniem8 |
| Windows 10, wersja 1809 lub nowsza | Wsparcie w miarę możliwości (wymagana obsługa konsoli ConPTY)8 |
| Starszy Windows 10 | Niezalecane: brak komponentów konsoli8 |
| WSL2 | Opcjonalnie; strona OpenAI o WSL uruchamia ten sam skrypt instalacyjny z powłoki WSL14 |
Na Windows Codex działa natywnie w PowerShellu z piaskownicą Windows, a od października 2026 istnieją trzy jej implementacje. Najnowsza to Microsoft Execution Containers (MXC), izolacja procesów, którą Microsoft wprowadził w Windows 11 24H2 i 25H2: aplikacja desktopowa preferuje ją dla kont konsumenckich, gdy urządzenie ją obsługuje, a CLI używa jej, gdy w [features] ustawiono prefer_mxc = true, ze starszymi trybami jako zapasowymi, albo gdy [windows] sandbox = "mxc" wybiera ją jawnie, i wtedy przy braku tej możliwości lub blokadzie przez zasady kończy się błędem, zamiast przejść na tryb zapasowy; od v0.162.0 test jednym poleceniem (codex -c windows.sandbox=mxc sandbox ..., oczekiwane wyjście MXC_OK) sprawdza ją bez zmiany zapisanego wyboru. Dwa wcześniejsze tryby są teraz starszymi trybami zapasowymi. elevated jest preferowany: używa dedykowanych użytkowników piaskownicy o obniżonych uprawnieniach, granic uprawnień systemu plików, reguł zapory i zmian lokalnych zasad, i wymaga konfiguracji zatwierdzonej przez administratora. unelevated uruchamia polecenia z ograniczonym tokenem Windows wyprowadzonym z Twojego użytkownika i granicami systemu plików opartymi na ACL, przy słabszej izolacji sieciowej.8 Tryb zapasowy wybierasz w config.toml:
[windows]
sandbox = "elevated" # or "unelevated"; "mxc" selects the containers explicitly
Wytyczne OpenAI mówią, by domyślnie używać natywnej piaskownicy, a WSL wybierać, gdy potrzebujesz narzędzi natywnych dla Linuksa, gdy Twój przepływ pracy i tak żyje w WSL2 albo gdy żadna z natywnych implementacji piaskownicy Windows nie spełnia Twoich potrzeb.8 Jedna rzecz do rozróżnienia: konfiguracja Windows zakłada obecność winget na maszynie na potrzeby własnych kroków konfiguracyjnych; to coś innego niż instalowanie Codeksa przez winget. OpenAI publikuje ten pakiet – przepływ wydań ma zadanie winget, które otwiera pull request z manifestem w microsoft/winget-pkgs dla wydań stabilnych – a letni zastój indeksu się skończył, choć nie na dobre. Daty są tu w UTC. Wnioski dla 0.148.0 do 0.152.0, otwarte między 18 sierpnia a 1 września, scalono 11 września (0.151.0 30 września, a 0.149.1 1 października); wniosek dla 0.147.0 zamknięto bez scalenia, podobnie jak zgłoszenie 0.154.0 od członka społeczności, a przepływ OpenAI nie otworzył żadnego dla 0.152.1 ani dla 0.153.x do 0.155.x; od 0.156.0 (22 września) do 0.161.0 (7 października) dwanaście manifestów z rzędu scalono w ciągu doby od otwarcia; potem wnioski dla 0.162.0 i 0.162.1 utknęły, otwarte od 8 i 9 października. 15 października indeks zawierał 138 wersji, najnowszą 0.161.0, trzy stabilne wydania za npm, a wniosek dla 0.163.0 również był otwarty. Z CLI nic się nie zepsuło; pakiet odstaje o dni, a nawet tygodnie.38
Node.js jest wymagany tylko na ścieżce npm. Skrypty instalacyjne pobierają skompilowany plik binarny, a cask Homebrew nie deklaruje żadnych zależności.12
Jak zaktualizować Codex CLI?
CLI, którego używasz, nie aktualizuje się samo, chyba że ten sam pakiet obsługuje aktualizator serwera w tle (starsze instalacje ze skryptu, których serwer uruchomiono z packages/standalone, o czym niżej). TUI zauważa nowsze wydanie i proponuje polecenie dla Twojego kanału instalacji; uruchomienie należy do Ciebie, a wbudowane polecenie obejmuje instalacje ze skryptu, npm i Homebrew.4 Samo sprawdzanie przy starcie to klucz konfiguracji: check_for_update_on_startup = false w config.toml, który dokumentacja opisuje jako „Check for Codex updates on startup (set to false only when updates are centrally managed)”; floty zarządzające aktualizacjami centralnie ustawiają features.in_app_updates = false w 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 pojawiło się w v0.128.0 30 kwietnia 2026; pull request, który je dodał, wykorzystał wykrywanie kanału instalacji i mechanizm uruchamiania aktualizacji, których TUI już używało do podpowiedzi o aktualizacjach. Mapa kanałów obejmuje npm (plus warianty bun, pnpm i Vite+), Homebrew oraz samodzielny instalator na Uniksie i Windows; instalacji przez winget w niej nie ma, więc Codex zainstalowany przez winget aktualizuje się wyłącznie przez winget upgrade OpenAI.Codex. Przy ponownym odczycie 15 października mapa ma jeden nowy wpis, akcję daemona, która zastępuje lokalny serwer w tle po przywróceniu terminala, a jej polecenia dla samodzielnego instalatora uruchamiają teraz instalator z CODEX_NON_INTERACTIVE=1; winget nadal jest nieobecny.4 Ręczne odpowiedniki, jeśli je wolisz albo skryptujesz obraz maszyny:
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
Wydania spływają szybką linią stabilną – 0.160.0 do 0.163.0, sześć stabilnych wydań, wyszły między 1 a 15 października 2026 – więc odstęp między „tym, co mam” a „najnowszym” to często tydzień, nie kwartał.9
Serwer w tle aktualizuje się sam
Serwer w tle to jedyna rzecz, która pobiera nowe pliki binarne według harmonogramu. Od v0.157.0 (25 września 2026 UTC) Codex domyślnie uruchamia zarządzany serwer w tle dla kwalifikujących się sesji interaktywnych, a gdy instalator wybrał stabilny kanał latest, ten serwer uruchamia odłączoną pętlę aktualizatora: sprawdza ona aktualizacje pięć minut po starcie, a potem co godzinę, za każdym razem uruchamiając instalator, a działający serwer restartuje się na nowym pliku binarnym. Daemon zainstalowany na 0.163.0 mieszka we własnym pakiecie, ~/.codex/packages/app-server-daemon (tryb CODEX_INSTALL_DAEMON_ONLY=1 instalatora, który zostawia w spokoju polecenie CLI użytkownika i konfigurację jego powłoki), ale daemon uruchomiony po raz pierwszy ze starszej instalacji ze skryptu dalej używa ~/.codex/packages/standalone/current, a jego zaplanowane aktualizacje przestawiają ten pakiet, czyli CLI, które wpisujesz (przy instalacjach starszych niż znacznik kanału w instalatorze dopiero po następnej instalacji latest, którą wykonuje codex update; do tego czasu daemon działa bez aktualizacji). Przypięte wydanie zostaje przypięte: instalator zapisuje znacznik auto-update-version tylko przy instalacji latest i usuwa go przy jawnie wskazanym wydaniu, a jego własny komentarz formułuje regułę: „Scheduled updates still require the selected release to follow the latest channel.” Przełącznikiem dla użytkownika jest "updater": { "autoUpdateEnabled": false } w ~/.codex/app-server-daemon/settings.json, obok którego stoi updateIntervalMinutes; codex app-server daemon restart stosuje stan włączenia, a zmieniony interwał zaczyna obowiązywać przy następnym oczekiwaniu; codex app-server daemon stop zatrzymuje serwer (najpierw łagodne żądanie zakończenia, potem wymuszone po upływie okresu karencji; pętla aktualizatora to osobny proces z własnym plikiem pid, więc potem sprawdź, czy nie działa dalej), /daemon w TUI go restartuje (v0.163.0), a te aktualizacje respektują politykę sieciową aplikacji (v0.163.0). Jawne codex app-server daemon update wybiera najnowsze stabilne wydanie nawet przy wyłączonych aktualizacjach automatycznych i, gdy instalator i wydanie będą to obsługiwać, przenosi starszy daemon do jego własnego katalogu głównego pakietu; przywraca też przypięty pakiet do produkcyjnej puli aktualizacji (samo ustawienie aktualizacji automatycznych zostaje zachowane) i restartuje działający serwer, co może przerwać aktywną lub zakolejkowaną pracę; zatrzymany serwer pozostaje zatrzymany. Własne README daemona określa go jako eksperymentalny.2012
Jak zainstalować konkretną wersję?
npm i skrypt instalacyjny przypinają po wersji; Homebrew nie: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
Uważaj na położenie w formie ze zmienną środowiskową: CODEX_RELEASE=0.162.1 musi stać przed sh, po potoku. Napisane przed curl dotyczy tylko curl, a skrypt instaluje latest, podczas gdy Ty sądzisz, że przypiąłeś wersję.12 Na Windows skrypt PowerShell deklaruje $Release = $env:CODEX_RELEASE jako swój jedyny parametr i wraca do latest, gdy jest pusty, więc przypięciem jest ta zmienna, ustawiona w tej samej sesji:17
$env:CODEX_RELEASE = '0.162.1'; irm https://chatgpt.com/codex/install.ps1 | iex
Potem ją wyczyść (Remove-Item Env:CODEX_RELEASE): zmienna pozostaje ustawiona do końca tej sesji, a późniejsze uruchomienie instalatora w niej, łącznie z tym, które uruchamia codex update, dziedziczy przypięcie.17
npm ma też dist-tag alpha dla linii przedpremierowej (0.163.0-alpha.11 15 października, opublikowane 14 października UTC, prawie dwa dni przed stabilnym 0.163.0); npm install -g @openai/codex@alpha za nim podąża, a od v0.161.0 opublikowanie starszej wersji alpha lub hotfixa nie cofa już tego tagu.1021
Przypinanie to właściwy ruch, gdy wydanie coś Ci psuje: zgłoś issue, przypnij ostatnią dobrą wersję, idź dalej. Po każdym przypięciu sprawdź codex --version, bo druga instalacja gdzie indziej na PATH po cichu dalej serwuje własny plik binarny. Skrypt instalacyjny sprawdza dokładnie to: gdy znajdzie na Twoim PATH codex zarządzany przez Homebrew, npm albo bun, ostrzega „Multiple managed Codex installs can be ambiguous because PATH order decides which one runs” i proponuje, że uruchomi za Ciebie pasujące odinstalowanie; przypadek Homebrew rozpoznaje po prefiksach macOS /opt/homebrew i /usr/local, i to tylko na macOS, więc codex z Linuxbrew nie zostanie wykryty.12 codex doctor raportuje ten sam stan po fakcie pod Environment.7
Jak odinstalować Codex CLI?
Najpierw zatrzymaj serwer w tle, póki codex jest jeszcze na Twoim PATH, a potem usuń Codeksa tą ścieżką, którą instalowałeś:
codex app-server daemon stop # first; skip if no server runs
npm uninstall -g @openai/codex
brew uninstall --cask codex
winget uninstall OpenAI.Codex
Instalacja ze skryptu nie ma menedżera pakietów, którego można by zapytać. Instalator umieszcza w ~/.local/bin dowiązanie symboliczne codex (nadpisywane przez CODEX_INSTALL_DIR), które wskazuje na plik binarny wewnątrz ~/.codex/packages/standalone/current (current/bin/codex w bieżących wydaniach); current samo jest dowiązaniem do ~/.codex/packages/standalone/releases/, gdzie leży każde pobrane wydanie. Na macOS instalator dodaje obok pierwszego drugie dowiązanie, codex-code-mode-host.12 Od v0.157.0 może też istnieć serwer w tle: jego pakiet w ~/.codex/packages/app-server-daemon (albo, dla serwera uruchomionego po raz pierwszy ze starszej instalacji, sam pakiet standalone) i jego stan w ~/.codex/app-server-daemon/ (settings.json, daemon.pid i daemon-updater.pid, albo app-server.pid i app-server-updater.pid dla serwera działającego z pakietu standalone, oraz daemon.lock).20 Najpierw go zatrzymaj, a potem usuń to wszystko:
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
Serwer działa jako codex app-server --listen unix://, z --remote-control przed --listen, gdy zdalne sterowanie jest włączone (argument nasłuchu to sam schemat; w wierszu poleceń nie pojawia się żadna ścieżka gniazda), a jego aktualizator jako codex app-server daemon pid-update-loop; pliki pid w ~/.codex/app-server-daemon/ rozstrzygają, który proces należy do serwera w tle: daemon.pid i daemon-updater.pid dla dedykowanego daemona, app-server.pid i app-server-updater.pid dla serwera działającego z pakietu standalone. stop kończy serwer, ale nie aktualizator, który dalej budzi się co interwał aż do ponownego uruchomienia systemu, więc jeśli proces o zapisanym tam pid nadal żyje, zakończ go teraz przez kill <pid>; każdy inny proces codex app-server należy do czegoś innego, co uruchamiasz. Potem usuń resztę: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
Jeśli ~/.local/bin nie było na Twoim PATH w chwili instalacji albo instalator znalazł konkurencyjną instalację Homebrew, npm lub bun i przepisał wpis, skrypt dopisał też oznaczony blok do profilu Twojej powłoki: od # >>> Codex installer >>> do # <<< Codex installer <<< w ~/.zprofile (zsh na macOS), ~/.bash_profile (bash na macOS), ~/.zshrc (zsh na Linuksie), ~/.bashrc (bash na Linuksie) lub ~/.profile (każda inna powłoka). Usuń te trzy linie, żeby skończyć.12
Na Windows install.ps1 zachowuje ten sam układ pod %USERPROFILE%\.codex\packages\standalone (albo %CODEX_HOME%\packages\standalone, jeśli ustawiłeś tę zmienną): pobrane wydania w releases\, junction current wskazujący na aktywne. Udostępnia codex.exe przez %LOCALAPPDATA%\Programs\OpenAI\Codex\bin (nadpisywane przez CODEX_INSTALL_DIR), który sam jest junction do current\bin, a zamiast bloku w profilu wpisuje tę ścieżkę bin do Twojego użytkownikowego PATH dla przyszłych sesji PowerShella. Serwer w tle trzyma tam te same dwa foldery, packages\app-server-daemon i app-server-daemon.1720 Zatrzymaj go, usuń katalog standalone i oba foldery serwera, potem wiszący już junction bin, a na koniec wyjmij wpis ze zmiennej użytkownika Path w Zmiennych środowiskowych: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
Tu decydują te same pliki pid: jeśli proces, którego pid zapisano w %USERPROFILE%\.codex\app-server-daemon\daemon.pid lub daemon-updater.pid (albo w app-server.pid i app-server-updater.pid dla serwera na pakiecie standalone), nadal żyje, zakończ go teraz przez Stop-Process -Id <pid>; każdy inny proces Codeksa to coś innego, co uruchamiasz. Potem usuń resztę: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) to osobne sprzątanie po starszej piaskownicy Windows: z uprawnieniami administratora usuwa ogólnosystemowe konta piaskownicy i reguły sieciowe, zostawia w spokoju katalog domowy Codeksa i katalogi piaskownicy, a na innych platformach jest odrzucane.19
Na każdej ścieżce najpierw zatrzymaj serwer w tle, jeśli działa (codex app-server daemon stop), i poszukaj ~/.codex/packages/app-server-daemon: README daemona mówi, że bootstrap kopiuje wywołujący pakiet do tego folderu, gdy nie istnieje żaden pakiet daemona, i że sam plik wykonywalny nie może go dostarczyć, a tego, czy automatyczny start przy instalacji z Homebrew lub npm go tworzy, tu nie testowano; jeśli folder istnieje, usuń go wraz z ~/.codex/app-server-daemon po odinstalowaniu przez menedżer pakietów.20 Powyższe odinstalowania przez menedżery pakietów nie dotykają ~/.codex/. --zap Homebrew w praktyce też nie: jedyna sekcja zap w casku to rmdir: "~/.codex", a Homebrew stosuje rmdir: tylko do katalogów, które są już puste.2 Ten katalog trzyma config.toml, Twoje zapisane poświadczenia i każdą sesję, dlatego ponowna instalacja podejmuje logowanie i historię tam, gdzie je zostawiłeś. Usuń go tylko wtedy, gdy naprawdę chcesz czystej karty, i wiedz, co to znaczy przy instalacji ze skryptu:
rm -rf ~/.codex # discards config.toml, credentials, all sessions -- AND the CLI itself on a script install
Czysta reinstalacja z zachowaniem stanu to w npm jedna linia: npm uninstall -g @openai/codex && npm install -g @openai/codex@latest. Na ścieżce skryptowej ponowne uruchomienie instalatora dodaje nowe wydanie w ~/.codex/packages/standalone/releases, przestawia na nie current, zostawia starsze wydania na miejscu, dopóki ich nie usuniesz, i zostawia Twoją konfigurację w spokoju.12
Cały cykl życia w jednej tabeli
| Zadanie | install.sh (macOS, Linux) | install.ps1 (Windows) | npm | Homebrew | winget |
|---|---|---|---|---|---|
| Instalacja | 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 |
| Aktualizacja | codex update albo ponowne uruchomienie skryptu |
codex update albo ponowne uruchomienie skryptu |
codex update albo npm install -g @openai/codex@latest |
codex update albo brew upgrade --cask codex |
winget upgrade OpenAI.Codex (codex update nie rozpoznaje tej ścieżki) |
| Przypięcie | sh -s -- --release 0.162.1 |
$env:CODEX_RELEASE = '0.162.1' przed linią instalacyjną |
npm install -g @openai/[email protected] |
nieobsługiwane | winget install OpenAI.Codex --version 0.161.0 |
| Odinstalowanie | codex app-server daemon stop, potem usuń dowiązania w ~/.local/bin, ~/.codex/packages/standalone, ~/.codex/packages/app-server-daemon i ~/.codex/app-server-daemon |
codex app-server daemon stop, potem usuń %USERPROFILE%\.codex\packages\standalone, foldery serwera packages\app-server-daemon i app-server-daemon, junction %LOCALAPPDATA%\Programs\OpenAI\Codex\bin i wpis w użytkownikowym PATH |
codex app-server daemon stop, jeśli działa serwer, potem npm uninstall -g @openai/codex, a potem foldery daemona, jeśli istnieją |
to samo zatrzymanie, potem brew uninstall --cask codex (--zap nie czyści niepustego ~/.codex), a potem foldery daemona, jeśli istnieją |
to samo zatrzymanie, potem winget uninstall OpenAI.Codex, a potem foldery daemona, jeśli istnieją |
| Sprawdzenie | codex --version, codex doctor |
tak samo | tak samo | tak samo | tak samo |
Co sprawdza codex doctor?
codex doctor to polecenie do uruchomienia przed zgłoszeniem błędu albo debugowaniem instalacji, która „wczoraj działała”. Na 0.153.4 zbiera siedem sekcji w jednym raporcie – Notes, Environment (spójność środowiska uruchomieniowego i instalacji), Configuration (stan wczytania config.toml, uwierzytelnianie, MCP, polityka piaskownicy), Desktop App (dodana w v0.149.0), Updates, Connectivity i Background Server – z --summary dla zwięzłego widoku, --json dla zredagowanej formy do odczytu maszynowego, --all do rozwinięcia uciętych list i --no-color do logów; codex doctor --help na 0.153.4 wymienia też --ascii; v0.162.0 dodało do raportu skonfigurowany tryb TUI.7131522 Większość zgłoszeń „Codex jest zepsuty” sprowadza się do czegoś, co wymienia na pierwszym ekranie: nieaktualny tryb uwierzytelniania, config.toml, którego nie udało się sparsować, albo druga instalacja przesłaniająca tę na Twoim PATH. Pełne omówienie sekcja po sekcji jest w przewodniku.
Co zmienia się po instalacji
Pierwszą rzeczą, o którą potyka się świeża instalacja, nie jest plik binarny. Od v0.149.0 CLI odmawia startu przy approval_policy = "untrusted", więc config.toml skopiowany ze starszej maszyny potrzebuje jednej poprawki.13 Przechodzisz z Claude Code? Wpis o migracji zestawia obie konfiguracje obok siebie, a wpis o hookach opisuje, co Codex uruchamia wokół modelu. Przewodnik po Codex CLI to pełne odniesienie: tryby piaskownicy i zatwierdzania, AGENTS.md, MCP, skills i zadania w chmurze. A jeśli używasz obu narzędzi, strona instalacji Claude Code jest bliźniaczką tej strony.
Często zadawane pytania
Jak zaktualizować Codex CLI do najnowszej wersji?
Uruchom codex update (v0.128.0 i nowsze); wykrywa, czy instalowałeś przez skrypt, npm czy Homebrew, i uruchamia upgrade właściwy dla tego kanału. Ręczne odpowiedniki to ponowne uruchomienie skryptu instalacyjnego, npm install -g @openai/codex@latest albo brew upgrade --cask codex. Instalacja przez winget nie jest kanałem, który codex update rozpoznaje; do niej użyj winget upgrade OpenAI.Codex.
Czy Codex CLI aktualizuje się automatycznie?
CLI nie, z jednym wyjątkiem. TUI sprawdza, czy jest nowsze wydanie, i proponuje polecenie aktualizacji pasujące do Twojego kanału instalacji, a codex update (v0.128.0 i nowsze) je uruchamia. Wyjątkiem jest serwer w tle, który Codex uruchamia domyślnie od v0.157.0: na kanale latest sprawdza aktualizacje pięć minut po starcie, a potem co godzinę, a serwer uruchomiony po raz pierwszy ze starszej instalacji ze skryptu aktualizuje ~/.codex/packages/standalone, czyli własny pakiet CLI, gdy tylko instalacja latest zapisze kanał. Aby to wyłączyć, ustaw "updater": { "autoUpdateEnabled": false } w ~/.codex/app-server-daemon/settings.json i uruchom codex app-server daemon restart.
Jak odinstalować Codex CLI?
Najpierw zatrzymaj serwer w tle, jeśli działa (codex app-server daemon stop), potem użyj ścieżki, którą instalowałeś: npm uninstall -g @openai/codex, brew uninstall --cask codex albo winget uninstall OpenAI.Codex, i poszukaj ~/.codex/packages/app-server-daemon oraz ~/.codex/app-server-daemon, które odinstalowanie przez menedżer pakietów zostawia. Przy instalacji ze skryptu to samo zatrzymanie, a potem usuń dowiązanie ~/.local/bin/codex (i ~/.local/bin/codex-code-mode-host na macOS), katalog ~/.codex/packages/standalone oraz należące do serwera ~/.codex/packages/app-server-daemon i ~/.codex/app-server-daemon. Na Windows instalacja ze skryptu to %USERPROFILE%\.codex\packages\standalone (plus foldery serwera packages\app-server-daemon i app-server-daemon), junction %LOCALAPPDATA%\Programs\OpenAI\Codex\bin i wpis w Twoim użytkownikowym PATH; usuń je wszystkie. Twoja konfiguracja, poświadczenia i sesje zostają w ~/.codex/, dopóki sam nie usuniesz reszty tego katalogu.
Jak zainstalować Codex CLI na Windows?
Uruchom powershell -ExecutionPolicy ByPass -c "irm https://chatgpt.com/codex/install.ps1 | iex". CLI działa natywnie w PowerShellu z piaskownicą Windows (Microsoft Execution Containers, gdy ustawisz prefer_mxc = true, a urządzenie je obsługuje; w przeciwnym razie skonfigurowany starszy tryb, a gdy żaden nie jest ustawiony, elevated; jawny wybór [windows] sandbox = "mxc" używa MXC albo kończy się błędem, bez trybu zapasowego); WSL2 to opcja, gdy potrzebujesz narzędzi linuksowych albo żadna implementacja piaskownicy nie pasuje, a nie wymóg. Windows 11 to zalecana baza. winget install OpenAI.Codex też działa, ale odstaje od linii stabilnej.
Czy do instalacji Codeksa potrzebuję Node.js?
Tylko na ścieżce npm, a pakiet wymaga Node’a 16 lub nowszego. Skrypt instalacyjny, skrypt PowerShell i cask Homebrew dostarczają skompilowany plik binarny codex, więc maszyna bez Node’a może uruchamiać Codeksa.
Jak sprawdzić, którą wersję Codeksa mam?
codex --version ją wypisuje (na przykład codex-cli 0.163.0). npm view @openai/codex version pokazuje najnowszą opublikowaną wersję, a codex doctor raportuje ścieżkę instalacji i to, czy inna kopia na Twoim PATH ją przesłania.
-
OpenAI, README openai/codex – sekcja instalacji zaczyna się od
curl -fsSL https://chatgpt.com/codex/install.sh | shdla macOS i Linuksa oraz jednolinijkowca PowerShellinstall.ps1dla Windows, potem mówi, że CLI „can also be installed via” npm (npm install -g @openai/codex) i Homebrew (brew install --cask codex); dokumentujecurl -fsSL https://chatgpt.com/codex/install.sh | CODEX_INSTALLER_USE_RELEASES_OPENAI_COM=false shi formę PowerShell$env:CODEX_INSTALLER_USE_RELEASES_OPENAI_COM='false', wprowadzone zdaniem “To force GitHub Releases, setCODEX_INSTALLER_USE_RELEASES_OPENAI_COMtofalse(0andnoare also accepted)”; nazwa pakietu@openai/codex; pliki binarne dla macOS (Apple silicon, x86_64) i Linuksa (x86_64, arm64) na GitHub Releases. Zweryfikowano 2026-09-06 i ponownie 2026-10-15, gdy sekcja instalacji była niezmieniona poza zdaniem cytowanym w przypisie 6. ↩↩↩↩↩↩↩↩↩ -
Homebrew, cask
codex– token caskacodex, jedna bieżąca wersja (0.163.0 na 2026-10-15, podbita commitemcodex 0.163.0w Homebrew/homebrew-cask o 21:44:02 UTC, trzynaście minut po wydaniu na GitHubie o 21:30:38 UTC), artefakt binarnybin/codexz generowanymi z niego uzupełnieniami powłoki, pustedepends_on, obsługiwane platformy obejmującex86_64_linuxiarm64_linuxobok wydań macOS oraz adres pobieraniacodex-package-aarch64-apple-darwin.tar.gzw wydaniu na GitHubie. Zweryfikowano przez API formulae i listę commitów homebrew-cask 2026-10-15 (0.153.4 na 2026-09-06). Sekcja zap caska tozap rmdir: "~/.codex", a Cask Cookbook definiujermdir:jako ścieżki katalogów do usunięcia, jeśli są puste. ↩↩↩↩↩↩ -
Microsoft, manifesty winget-pkgs dla
OpenAI.Codex– 138 opublikowanych wersji, najnowsza 0.161.0, na 2026-10-15 (119 i 0.146.1 na 2026-09-06); brak manifestu dla 0.147.0, 0.152.1 oraz 0.153.x do 0.155.x. Pakiet publikuje OpenAI:.github/workflows/rust-release.ymlw openai/codex ma zadaniewinget, które wysyła manifest za pomocąkomac(jego komentarz: „Adapted from the WinGet Releaser version previously used by this job”; odczytano ponownie 2026-10-15). Pull requesty według wyszukiwania w repozytorium z 2026-10-15, daty w UTC, odoai-fork-bot, o ile nie zaznaczono inaczej: 0.147.0 (#413497) zamknięty bez scalenia; 0.148.0 (#420225) do 0.152.0 (#427090), otwarte od 18 sierpnia do 1 września, scalone 11 września z wyjątkiem 0.151.0 (#426091) 30 września i 0.149.1 (#423060) 1 października; 0.154.0 (#435129, otwarty przez członka społeczności,z3oya) zamknięty bez scalenia; 0.156.0 (#439266) do 0.161.0 (#448267), dwanaście wniosków otwartych od 22 września do 7 października, każdy scalony w dniu otwarcia lub następnego dnia; 0.162.0 (#449062), 0.162.1 (#449772) i 0.163.0 (#453561) otwarte na 2026-10-15. README i dokumentacja CLI OpenAI nie wspominają o winget. ↩↩↩↩↩ -
OpenAI, informacje o wydaniu Codex CLI v0.128.0, 30 kwietnia 2026 – “Added
codex update, configurable TUI keymaps, plan-mode nudges, action-required terminal titles, and active-turn/statuslineand/titleedits.” Pull request tego polecenia, openai/codex #19933 (scalony 28 kwietnia 2026), stwierdza: “Reused the existing install-channel detection and update command runner that the TUI already uses for update prompts.” Mapa kanałów tocodex-rs/tui/src/update_action.rs: npm i jego rodzeństwo bun, pnpm i Vite+, Homebrew oraz samodzielny instalator (Unix i Windows); bez wariantu winget (odczytano 2026-09-06). Odczytano ponownie 2026-10-15: enum zyskałDaemon(DaemonUpdateSource)(„Replace the local daemon after restoring the terminal”), a polecenia samodzielnego instalatora tocurl -fsSL https://chatgpt.com/codex/install.sh | CODEX_NON_INTERACTIVE=1 shi$env:CODEX_NON_INTERACTIVE=1; irm https://chatgpt.com/codex/install.ps1 | iex; nadal bez wariantu winget. ↩↩↩↩ -
OpenAI, informacje o wydaniu Codex CLI v0.106.0, 26 lutego 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)”; od tej poryinstall.shjest dołączany do każdego wydania. Wydanie rust-v0.163.0 (zasoby wylistowane przez API wydań GitHuba, 2026-10-15) zawierainstall.shiinstall.ps1, tarballecodex-<target>.tar.gzdla poszczególnych platform, pliki.zsti macOS-owe.dmg, pakietycodex-package-<target>.tar.gzzcodex-package_SHA256SUMS, pliki binarnecodex-app-server-*icodex-responses-api-proxy-*, tarballecodex-npm-*.tgzoraz sześć plikówopenai_codex_cli_bin-0.163.0-*.whl; PyPI opisujeopenai-codex-cli-binjako „Pinned Codex CLI runtime for the Python SDK”. Tarball macOS arm64 pobrany 2026-10-15 zawiera jeden wpis,codex-aarch64-apple-darwin. ↩↩ -
OpenAI, informacje o wydaniu Codex CLI v0.146.0, 29 lipca 2026 – „Publish release artifacts, channel metadata, and installer aliases through OpenAI-hosted release infrastructure, with GitHub fallback.”
https://chatgpt.com/codex/install.shodpowiada 302 dohttps://releases.openai.com/codex/install.sh(sprawdzono 2026-09-06 i 2026-10-15); README stwierdzało to 2026-10-15: „The standalone installers download fromhttps://releases.openai.com/codexby default and fall back to GitHub Releases if a metadata or asset download is unavailable.” ↩ -
OpenAI,
feat(cli): add codex doctor diagnostics, openai/codex PR #22336, scalony 13 maja 2026 – sekcje raportu (Notes, Environment, Configuration, Updates, Connectivity, Background Server) oraz jego flagi--summary,--json,--alli--no-color. ↩↩ -
OpenAI, Codex na Windows: piaskownica Windows – w odczycie z 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” oraz
prefer_mxc = truew[features]dla CLI;allow_mxc = falsew[windows]wrequirements.tomlją blokuje; test jednym poleceniem udokumentowany dla „Codex CLI 0.162.0 and later” z oczekiwanym wyjściemMXC_OK; starsze tryby zapasowe[windows] sandbox = "elevated"(„the preferred legacy fallback”) i"unelevated"(„a legacy fallback” z „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 zalecany, „Recent, fully updated Windows 10” oznaczony jako „Best effort”, przy czym „Windows 10 version 1809 or newer is required” dla obsługi konsoli, starszy Windows 10 niezalecany;wingetoczekiwany na potrzeby konfiguracji. Po raz pierwszy zweryfikowano 2026-09-06, gdy strona opisywała tylko dwa starsze tryby. ↩↩↩↩↩↩↩↩ -
OpenAI, wydania openai/codex –
rust-v0.163.0opublikowane 15 października 2026 o 21:30 UTC jako najnowsze wydanie, porust-v0.160.0(1 października),rust-v0.160.1(5 października),rust-v0.161.0(7 października),rust-v0.162.0(8 października) irust-v0.162.1(9 października);rust-v0.153.4było najnowsze 4 września 2026 (według odczytu z 6 września; lista z 15 października sięga wstecz do 1 października). Daty z API wydań GitHuba. ↩↩↩ -
npm,
@openai/codex–latest= 0.163.0 (opublikowane 2026-10-15 o 21:37 UTC),alpha= 0.163.0-alpha.11 (opublikowane 2026-10-14 o 03:38 UTC) iengines: { node: ">=16" }w 0.163.0, według dokumentu rejestru z 2026-10-15;latestbyło 0.153.4 na 2026-09-06, a mapatimew dokumencie wymienia czternaście stabilnych wersji po 0.146.1 aż do 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 do 0.153.4). ↩↩↩↩↩↩ -
OpenAI, dokumentacja Codex CLI – instalacja zaczyna się od samodzielnego instalatora (
curl -fsSL https://chatgpt.com/codex/install.sh | shna macOS i Linuksie, zakładka instalatora Windows), przedstawia Homebrew i npm jako alternatywy, a jako aktualizację instalacji samodzielnych podaje ponowne uruchomienie instalatora. Zweryfikowano 2026-09-06 i ponownie 2026-10-15, gdy zakładkami instalacji były macOS/Linux, Windows, npm i Homebrew. ↩↩↩↩↩↩ -
OpenAI, skrypt instalacyjny
install.shw wersji serwowanej 2026-09-06 i odczytanej ponownie 2026-10-15 –Usage: install.sh [--release VERSION]; zmienne środowiskoweCODEX_RELEASE(„Version to install; overridden by –release”),CODEX_INSTALL_DIR(domyślnie~/.local/bin),CODEX_HOME(domyślnie~/.codex) iCODEX_INSTALLER_USE_RELEASES_OPENAI_COM(„Set to 0, false, or no to use GitHub Releases”); wydania przechowywane w~/.codex/packages/standalone/releasesza dowiązaniemcurrent, z dowiązaniemcodex(icodex-code-mode-hostna macOS) w katalogu bin; blokPATH# >>> Codex installer >>>/# <<< Codex installer <<<dopisywany do~/.zprofile,~/.bash_profile,~/.zshrc,~/.bashrclub~/.profile, gdy katalog bin nie jest już naPATHalbo wykryto konkurencyjną instalację zarządzaną (add_to_pathkończy wcześniej przy dopasowaniuPATHtylko wtedy, gdy nie znaleziono konfliktu); oraz sprawdzenie konfliktu instalacji, które ostrzega „Multiple managed Codex installs can be ambiguous because PATH order decides which one runs” i proponujebrew uninstall --cask codex,npm uninstall -g @openai/codexlubbun remove -g @openai/codex. Kopia z 2026-10-15 dodaje do tekstu użyciaCODEX_NON_INTERACTIVE(„Set to 1, true, or yes to skip prompts”); tryb tylko dla daemona (CODEX_INSTALL_DAEMON_ONLY=1, katalog główny~/.codex/packages/app-server-daemon, zapis aktualizatoraapp-server-daemon/daemon-updater.pid, plik znacznikaauto-update-version, zapisywany przy instalacjilatesti usuwany przy jawnie wskazanym wydaniu na końcu skryptu) z komentarzem „An explicit daemon update may leave a local or pinned release. Scheduled updates still require the selected release to follow the latest channel.” przy warunku, który kończy działanie, gdy wybrane wydanie nie jest tym zapisanym; oraz preferencję dla zasobucodex-package-<target>.tar.gzweryfikowanego względemcodex-package_SHA256SUMS, z tarballem npm dla platformy jako starszym układem. Plikibin/codex,bin/codex-code-mode-hosticodex-path/rgz pakietu dostają prawo wykonywania, a dowiązaniecodex-code-mode-hostpowstaje tylko na macOS; aktualizator działa jako podpolecenieapp-server daemon pid-update-loop(sprawdzenie własności w skrypcie w linii 1266 wywołuje je z--check-package-ownership). ↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
OpenAI, informacje o wydaniu Codex CLI v0.149.0, 20 sierpnia 2026 – zawiera #39630, “Retire the untrusted approval policy”, oraz “
codex doctornow diagnoses endpoint protection, network/proxy failures, desktop app state, and update connectivity.” ↩↩ -
OpenAI, Codex na Windows: WSL, zweryfikowano ponownie 2026-10-15 – „Use Codex CLI with WSL”:
wsl --install, otwarcie powłoki WSL, potemcurl -fsSL https://chatgpt.com/codex/install.sh | shicodex; strona radzi też trzymać repozytoria w katalogu domowym Linuksa zamiast w montowanych z Windows ścieżkach/mnt/c/, dla szybszego I/O. ↩ -
Odtworzenie przez autora na Codex CLI 0.153.4 (instalacja npm), 2026-09-06:
codex doctor --summary --no-colorwypisuje sekcje Notes, Environment, Configuration, Desktop App, Updates, Connectivity i Background Server w tej kolejności;codex doctor --helpwymienia--ascii. ↩ -
OpenAI, dokumentacja konfiguracji Codeksa –
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.” Zweryfikowano 2026-09-06 i 2026-10-15. ↩ -
OpenAI, skrypt instalacyjny
install.ps1w wersji serwowanej 2026-09-06 i odczytanej ponownie 2026-10-15 – blok parametrówparam([string]$Release = $env:CODEX_RELEASE)zlatestjako wartością zapasową;$codexHome=CODEX_HOMElub%USERPROFILE%\.codex;packages\standalonezreleases\, junctioncurrentiinstall.lock; widoczny katalog bin%LOCALAPPDATA%\Programs\OpenAI\Codex\bin(lubCODEX_INSTALL_DIR) tworzony jako junction docurrent\bin; użytkownikowyPathzapisywany przez[Environment]::SetEnvironmentVariable("Path", ..., "User")(„PATH updated for future PowerShell sessions.”). Kopia z 2026-10-15 oblicza SHA-256 archiwum przez .NET (SHA256CryptoServiceProvider) i porównuje je zcodex-package_SHA256SUMSz wydania, a przy niezgodności rzuca „Downloaded Codex archive checksum did not match expected digest”. ↩↩↩↩ -
OpenAI, informacje o wydaniu Codex CLI v0.162.0, 8 października 2026 – „Publish a signed PowerShell installer with Windows releases. (#51158)” i „Fix archive checksum verification when installing through Windows PowerShell with PowerShell 7 module paths present. (#51257)”. PR #51158, scalony 5 października 2026: „sign
scripts/install/install.ps1with Azure Trusted Signing in the x64 release job” i „publish the signed artifact asinstall.ps1instead of copying the unsigned source”. PR #51257, scalony 6 października: „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, scalony 2 października 2026 i wymieniony w informacjach o wydaniu v0.162.0; opis pull requesta: „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.mdw tagu rust-v0.163.0 – „codex-app-server-daemonis experimental and its lifecycle contract may change”; osiem poleceń (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” z przykładem"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” i „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”; tabela sytuacji („the selected release stays pinned”, gdy instalator wybrał jawnie wskazane wydanie; „the running server restarts with the new binary before the updater replaces itself”); pliki stanu wCODEX_HOME/app-server-daemon/tak, jak wymienia je README (settings.json,app-server.pid,app-server-updater.pid,daemon.lock;daemon.pididaemon-updater.piddedykowanego daemona pochodzą z kodu źródłowego, poniżej); „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” i „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” i „A bare executable cannot supply a new installation”. Nazwy plików pid pochodzą z kodu źródłowego w tym samym tagu,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"(linie 54 do 57), przy czym starsza para jest wybierana tylko wtedy, gdy zarządzany plik binarny leży wpackages/standalone(linie 334 do 337 i 376 do 379),stopzatrzymuje działający backend (linia 615), a aktualizator zatrzymujeensure_managed_updaterprzy starcie, restarcie lub zmianie zdalnego sterowania (linie 893 do 930) oraz na dwóch innych ścieżkach cyklu życia (linie 474 do 477 i 829 do 832), nigdystop, do tego zdanie README „the updater loop is not reboot-persistent” (linia 145); wiersze poleceń zsrc/backend/pid.rs(linie 385 do 401:app-server --listen unix://dla serwera,app-server --remote-control --listen unix://przy włączonym zdalnym sterowaniu,app-server daemon pid-update-loopdla aktualizatora). Ponadto OpenAI, informacje o wydaniu Codex CLI v0.157.0, opublikowane 25 września 2026 o 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”, którego pull request zaczyna się od „Daemon updates discard installer stderr”; v0.163.0, 15 października – „Restart a managed background server from/daemon. Codex warns about work the restart could interrupt, then reconnects automatically. (#53173)” i „#52223 Enforce application network policy for daemon updates”. Tryb daemona w instalatorze i jego zabezpieczenie aktualizacji opisuje przypis 12. ↩↩↩↩↩↩↩↩ -
OpenAI, informacje o wydaniu Codex CLI v0.161.0, 7 października 2026 – „Publishing an older alpha or hotfix no longer moves npm alpha tags backward. (#49704)”. ↩
-
OpenAI, informacje o wydaniu Codex CLI v0.162.0 – „#50200 Report the configured TUI mode in
codex doctor”. ↩