Instalar e atualizar o Codex CLI: Mac, Linux, Windows
Instalar a CLI do OpenAI Codex é um comando por plataforma – curl -fsSL https://chatgpt.com/codex/install.sh | sh no macOS e no Linux, powershell -ExecutionPolicy ByPass -c "irm https://chatgpt.com/codex/install.ps1 | iex" no Windows – com npm e Homebrew como alternativas suportadas, e atualizar é codex update, que reconhece instalações por script, npm e Homebrew e executa o upgrade daquele canal.1411 A parte que a maioria das páginas pula vem depois do primeiro comando: qual das cinco rotas de instalação escolher, como fixar uma versão quando um lançamento quebra algo, por que o pacote do winget fica de dias a semanas atrás do npm e o que uma desinstalação deixa em ~/.codex. Esta página é essa referência, uma tabela por tarefa, atualizada até a v0.163.0 (15 de outubro de 2026).9
Atualizado em 15 de outubro de 2026 para a v0.163.0. Quatro coisas mudaram desde a versão de setembro desta página. O índice do winget andou: depois de um período, em meados do ano, em que seus pedidos de manifesto ficaram semanas parados, os doze da 0.156.0 à 0.161.0 foram mesclados em menos de um dia após a abertura, mas os pedidos da 0.162.0 e da 0.162.1 esperam desde 8 e 9 de outubro, então em 15 de outubro o winget estava três lançamentos atrás do npm, contra os catorze (da 0.147.0 à 0.153.4) de 6 de setembro.310 Os lançamentos para Windows trazem um install.ps1 assinado (a verificação de SHA-256 dele é mais antiga; a v0.162.0 a corrigiu no Windows PowerShell).18 O Windows também ganhou uma terceira implementação de sandbox, o Microsoft Execution Containers, com os dois modos de setembro como reserva.8 E o servidor em segundo plano que o Codex agora inicia por padrão em sessões interativas elegíveis roda o próprio atualizador, que em instalações por script mais antigas pode mover o pacote da própria CLI.20 Toda referência de instalação, atualização e fixação de versão abaixo foi relida em 15 de outubro; a leitura do codex doctor é da 0.153.4.910
TL;DR
- O instalador independente é a rota que a OpenAI coloca em primeiro lugar, tanto no README quanto na documentação da CLI, com npm e Homebrew apresentados como alternativas (“you can also install” na documentação da CLI, “can also be installed via” no README): o script
install.shno macOS e no Linux, o scriptinstall.ps1no Windows. Ele baixa o binário compilado, então não precisa de Node.111 - npm e Homebrew são alternativas suportadas.
npm install -g @openai/codexfixa versão com uma especificação de pacote comum (@<version>);brew install --cask codexestava, no momento da escrita, na mesma 0.163.0 do npm; o cask foi atualizado treze minutos depois do lançamento.1210 - O winget funciona, com dias a semanas de atraso. A OpenAI publica o pacote
OpenAI.Codex. Depois de um período, em meados do ano, em que seus pull requests de manifesto ficaram semanas sem merge, os doze da 0.156.0 (22 de setembro de 2026) à 0.161.0 (7 de outubro) foram mesclados, cada um em menos de um dia após a abertura; depois, os pedidos da 0.162.0 e da 0.162.1 empacaram, abertos desde 8 e 9 de outubro. Em 15 de outubro, a versão instalável mais recente era a 0.161.0, contra a 0.163.0 no npm, três lançamentos estáveis atrás, e o pedido da 0.163.0 também estava aberto.310 codex updatecobre instalações por script, npm e Homebrew (v0.128.0 em diante): ele reutiliza a detecção de canal de instalação que a TUI já tem e executa o upgrade correspondente. Uma instalação por winget não é um canal que ele reconheça; essa você atualiza comwinget upgrade OpenAI.Codex. Os equivalentes manuais para o resto são executar o instalador de novo,npm install -g @openai/codex@latestoubrew upgrade --cask codex.411- O servidor em segundo plano roda um atualizador e, em instalações por script mais antigas, pode mover a sua CLI. Desde a v0.157.0 (25 de setembro de 2026, UTC), o Codex inicia por padrão um servidor em segundo plano gerenciado em sessões interativas elegíveis. Quando o instalador selecionou o canal
latest, esse servidor procura atualizações cinco minutos depois de iniciar e depois a cada hora, executando o instalador; um daemon novo fica em~/.codex/packages/app-server-daemon, mas um daemon iniciado pela primeira vez a partir de uma instalação por script mais antiga continua usando~/.codex/packages/standalone/current, o pacote da própria CLI. O interruptor é"updater": { "autoUpdateEnabled": false }em~/.codex/app-server-daemon/settings.json, aplicado comcodex app-server daemon restart.2012 - Fixe versão com
--release <version>noinstall.sh,$env:CODEX_RELEASEantes da linha doinstall.ps1ou@<version>no npm. O cask do Homebrew acompanha uma única versão atual e não consegue fixar.212 - Desinstalar o pacote não remove seu estado, mas em uma instalação por script,
rm -rf ~/.codexremove também a própria CLI, porque o instalador guarda as versões em~/.codex/packages/standalone.12
Como instalo o Codex CLI?
Quatro rotas, na ordem em que a própria documentação da OpenAI as apresenta,111 mais o winget no Windows, que a OpenAI não documenta:3
# Standalone installer, no Node required (macOS, Linux, WSL) -- the route OpenAI lists first
curl -fsSL https://chatgpt.com/codex/install.sh | sh
# Windows PowerShell
powershell -ExecutionPolicy ByPass -c "irm https://chatgpt.com/codex/install.ps1 | iex"
# npm (needs Node.js 16+; pins with a plain @version spec)
npm install -g @openai/codex
# Homebrew (macOS, Linux)
brew install --cask codex
# winget (Windows; lags npm, see the platform section)
winget install OpenAI.Codex
Depois confirme que a instalação chegou e faça login:
codex --version # codex-cli 0.163.0
codex login # ChatGPT account (recommended) or an API key
Em uma primeira instalação por script, o bloco do perfil só vale em shells novos. Se codex não for encontrado no terminal de onde você instalou, execute ali export PATH="$HOME/.local/bin:$PATH" ou abra um novo; o instalador imprime as mesmas duas linhas ao terminar (“Current terminal” e “Future terminals”).12
Prefere um binário puro? Todo lançamento no GitHub traz tarballs por plataforma (codex-aarch64-apple-darwin.tar.gz, codex-x86_64-apple-darwin.tar.gz, codex-x86_64-unknown-linux-musl.tar.gz, codex-aarch64-unknown-linux-musl.tar.gz), e desde a v0.106.0 o mesmo install.sh é anexado a cada lançamento como asset. Cada arquivo contém uma única entrada com a plataforma no nome; renomeie-a para codex depois de extrair.15 A página de lançamentos cresceu em volta desses tarballs: irmãos .zst e .dmg de macOS de cada binário; pacotes codex-package-<target>.tar.gz com o binário, o auxiliar codex-code-mode-host e o ripgrep, que são o que o instalador e o cask do Homebrew baixam; os binários codex-app-server e codex-responses-api-proxy; e wheels de Python openai_codex_cli_bin, que são o runtime fixado do SDK de Python da OpenAI, e não uma rota pip para a CLI.512
O instalador baixa da infraestrutura de lançamento hospedada pela OpenAI: chatgpt.com/codex/install.sh redireciona para releases.openai.com, uma mudança que chegou na v0.146.0, com o GitHub Releases como host de reserva.6 Em uma rede que bloqueia ou limita o host de artefatos da OpenAI mas permite o GitHub, pegue o script do asset do lançamento e diga a ele para buscar o binário também no GitHub:112
curl -fsSL https://github.com/openai/codex/releases/latest/download/install.sh | CODEX_INSTALLER_USE_RELEASES_OPENAI_COM=false sh
A variável fica do lado do sh do pipe. A forma VAR=value curl ... | sh aplica a variável só ao curl, então o script nunca a vê e fica silenciosamente no padrão. No PowerShell, defina $env:CODEX_INSTALLER_USE_RELEASES_OPENAI_COM = 'false' antes de executar a linha de instalação.
Qual rota você deve escolher?
| Você está em | Use | Por quê |
|---|---|---|
| macOS ou Linux | o script de instalação | A rota que a documentação da OpenAI lista primeiro; baixa o binário, sem Node na máquina11 |
| Windows | o script do PowerShell | PowerShell nativo com o sandbox do Windows; o WSL é opcional811 |
| Qualquer máquina em que você fixa versões em scripts | npm install -g @openai/codex@<version> |
Fixa como especificação de pacote, então a versão vive no seu Dockerfile ou script de provisionamento, e não em uma flag10 |
| macOS ou Linux em que o Homebrew já gerencia todo o resto | brew install --cask codex |
A mesma versão do npm em 15 de outubro (o cask foi atualizado treze minutos depois do lançamento), sem dependência de Node, brew upgrade mantém atualizado2 |
| Windows, gerenciado por pacotes | winget install OpenAI.Codex |
Se um atraso em relação ao npm for aceitável: três lançamentos em 15 de outubro3 |
Quais plataformas o Codex suporta?
| Plataforma | Status |
|---|---|
| macOS, Apple silicon e Intel | Suportado; binários para ambos1 |
| Linux, x86_64 e arm64 | Suportado; binários para ambos1 |
| Windows 11 | Base recomendada; o MXC chegou no 24H2 (build 26100.9278) e no 25H2 (build 26200.9278) e está sendo liberado aos poucos, então teste-o com a verificação de um único comando8 |
| Windows 10, versão 1809 ou mais recente | Melhor esforço (exige suporte ao console ConPTY)8 |
| Windows 10 mais antigo | Não recomendado: faltam componentes de console8 |
| WSL2 | Opcional; a página de WSL da OpenAI executa o mesmo script de instalação a partir do shell do WSL14 |
No Windows, o Codex roda nativamente no PowerShell com um sandbox do Windows, e desde outubro de 2026 há três implementações. A mais nova é o Microsoft Execution Containers (MXC), o isolamento de processos que a Microsoft introduziu no Windows 11 24H2 e 25H2: o app de desktop o prefere para contas de consumidor quando o dispositivo tem suporte, e a CLI o usa quando prefer_mxc = true está definido em [features], com os modos legados como reserva, ou quando [windows] sandbox = "mxc" o seleciona explicitamente, caso em que falha em vez de recorrer à reserva se o recurso estiver ausente ou uma política o bloquear; a partir da v0.162.0, um teste de um único comando (codex -c windows.sandbox=mxc sandbox ..., saída esperada MXC_OK) o experimenta sem alterar a seleção salva. Os dois modos anteriores agora são as reservas legadas. elevated é o preferido: usa usuários de sandbox dedicados com privilégios reduzidos, limites de permissão no sistema de arquivos, regras de firewall e mudanças de política local, e exige uma configuração aprovada por administrador. unelevated executa comandos com um token restrito do Windows derivado do seu usuário e limites de sistema de arquivos baseados em ACL, com um isolamento de rede mais fraco.8 A reserva é escolhida no config.toml:
[windows]
sandbox = "elevated" # or "unelevated"; "mxc" selects the containers explicitly
A orientação da OpenAI é usar o sandbox nativo por padrão e escolher o WSL quando você precisar de ferramentas nativas do Linux, quando seu fluxo de trabalho já viver no WSL2 ou quando nenhuma das implementações de sandbox nativas do Windows atender aos seus requisitos.8 Uma distinção que vale guardar: a configuração do Windows pressupõe que o winget está na máquina para os seus próprios passos de configuração; isso é diferente de instalar o Codex via winget. A OpenAI publica esse pacote, o fluxo de lançamento tem um job winget que abre um pull request de manifesto em microsoft/winget-pkgs para lançamentos estáveis, e a paralisação do índice em meados do ano acabou, embora não de vez. As datas aqui estão em UTC. Os pedidos da 0.148.0 à 0.152.0, abertos entre 18 de agosto e 1º de setembro, foram mesclados em 11 de setembro (a 0.151.0 em 30 de setembro e a 0.149.1 em 1º de outubro); o pedido da 0.147.0 foi fechado sem merge, assim como o envio da 0.154.0 feito por um membro da comunidade, e o fluxo da OpenAI não abriu nenhum para a 0.152.1 nem da 0.153.x à 0.155.x; da 0.156.0 (22 de setembro) à 0.161.0 (7 de outubro), doze manifestos seguidos foram mesclados em menos de um dia após a abertura; depois, os pedidos da 0.162.0 e da 0.162.1 empacaram, abertos desde 8 e 9 de outubro. Em 15 de outubro o índice tinha 138 versões, a mais recente a 0.161.0, três lançamentos estáveis atrás do npm, e o pedido da 0.163.0 também estava aberto. Nada está quebrado na CLI; o pacote fica de dias a semanas atrás.38
O Node.js só é pré-requisito para a rota do npm. Os scripts de instalação baixam o binário compilado, e o cask do Homebrew não declara dependências.12
Como atualizo o Codex CLI?
A CLI que você executa não se atualiza sozinha, a menos que um atualizador do servidor em segundo plano esteja gerenciando o mesmo pacote (instalações por script mais antigas cujo servidor foi iniciado a partir de packages/standalone, mais abaixo). A TUI percebe um lançamento mais novo e oferece o comando do seu canal de instalação; executá-lo é com você, e o comando embutido cobre instalações por script, npm e Homebrew.4 A verificação na inicialização é, ela mesma, uma chave de configuração: check_for_update_on_startup = false no config.toml, que a referência descreve como “Check for Codex updates on startup (set to false only when updates are centrally managed)”; frotas que gerenciam atualizações centralmente definem features.in_app_updates = false no 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 chegou com a v0.128.0 em 30 de abril de 2026; o pull request que o adicionou reutilizou a detecção de canal de instalação e o executor de atualização que a TUI já tinha para os avisos de atualização. O mapa de canais cobre npm (mais as variantes bun, pnpm e Vite+), Homebrew e o instalador independente no Unix e no Windows; uma instalação por winget não está nele, então um Codex instalado via winget só é atualizado por winget upgrade OpenAI.Codex. Relido em 15 de outubro, o mapa tem uma entrada nova, uma ação de daemon que substitui o servidor local em segundo plano depois que o terminal é restaurado, e seus comandos do instalador independente agora executam o instalador com CODEX_NON_INTERACTIVE=1; o winget continua ausente.4 Os equivalentes manuais, se você preferir ou estiver preparando a imagem de uma máquina:
curl -fsSL https://chatgpt.com/codex/install.sh | sh # standalone: re-run the installer
npm install -g @openai/codex@latest # npm
brew upgrade --cask codex # Homebrew
winget upgrade OpenAI.Codex # winget (to whatever winget has)
irm https://chatgpt.com/codex/install.ps1 | iex # standalone on Windows: re-run the installer
Os lançamentos saem em uma linha estável rápida – da 0.160.0 à 0.163.0, seis lançamentos estáveis, chegaram entre 1º e 15 de outubro de 2026 – então a distância entre “o que eu uso” e “a mais recente” costuma ser uma semana, não um trimestre.9
O servidor em segundo plano se atualiza sozinho
O servidor em segundo plano é a única coisa que baixa binários novos por agendamento. Desde a v0.157.0 (25 de setembro de 2026, UTC), o Codex inicia por padrão um servidor em segundo plano gerenciado em sessões interativas elegíveis e, quando o instalador selecionou o canal estável latest, esse servidor dispara um loop de atualização destacado: ele procura atualizações cinco minutos depois de iniciar e depois a cada hora, executando o instalador a cada vez, e um servidor em execução reinicia com o binário novo. Um daemon instalado na 0.163.0 fica no próprio pacote, ~/.codex/packages/app-server-daemon (o modo CODEX_INSTALL_DAEMON_ONLY=1 do instalador, que deixa em paz o comando da CLI do usuário e a configuração do shell), mas um daemon iniciado pela primeira vez a partir de uma instalação por script mais antiga continua usando ~/.codex/packages/standalone/current, e as atualizações agendadas dele movem esse pacote, que é a CLI que você digita (em instalações anteriores ao marcador de canal do instalador, só depois da próxima instalação latest, que é o que o codex update faz; até lá o daemon atende sem se atualizar). Uma versão fixada continua fixada: o instalador grava um marcador auto-update-version só em uma instalação latest e o remove em um lançamento explícito, e o próprio comentário dele enuncia a regra: “Scheduled updates still require the selected release to follow the latest channel.” O interruptor por usuário é "updater": { "autoUpdateEnabled": false } em ~/.codex/app-server-daemon/settings.json, com um updateIntervalMinutes ao lado; codex app-server daemon restart aplica o estado de ativação, e um intervalo alterado passa a valer na próxima espera; codex app-server daemon stop para o servidor (um pedido de encerramento gracioso e depois um forçado ao fim do período de tolerância; o loop de atualização é um processo separado com o próprio arquivo pid, então verifique-o depois), /daemon na TUI o reinicia (v0.163.0), e essas atualizações obedecem à política de rede do aplicativo (v0.163.0). Um codex app-server daemon update explícito seleciona o lançamento estável mais recente mesmo com as atualizações automáticas desligadas e, quando o instalador e o lançamento derem suporte, move um daemon legado para a própria raiz de pacote; ele também devolve um pacote fixado à elegibilidade de atualização de produção (a configuração de atualização automática em si é mantida) e reinicia um servidor em execução, o que pode interromper trabalho ativo ou na fila; um servidor parado continua parado. O próprio README do daemon o chama de experimental.2012
Como instalo uma versão específica?
npm e o script de instalação fixam ambos por versão; o Homebrew não: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
Repare na posição na forma com variável de ambiente: CODEX_RELEASE=0.162.1 precisa vir antes do sh, depois do pipe. Escrita antes do curl, a variável só se aplica ao curl e o script instala latest enquanto você acha que fixou a versão.12 No Windows, o script do PowerShell declara $Release = $env:CODEX_RELEASE como seu único parâmetro e recorre a latest quando ele está vazio, então fixar a versão é essa variável, definida na mesma sessão:17
$env:CODEX_RELEASE = '0.162.1'; irm https://chatgpt.com/codex/install.ps1 | iex
Limpe-a depois (Remove-Item Env:CODEX_RELEASE): a variável continua definida pelo resto dessa sessão, e uma execução posterior do instalador nela, inclusive a que o codex update dispara, herda a fixação.17
O npm também tem uma dist-tag alpha para a linha de pré-lançamento (0.163.0-alpha.11 em 15 de outubro, publicada em 14 de outubro em UTC, quase dois dias antes da 0.163.0 estável); npm install -g @openai/codex@alpha a acompanha, e desde a v0.161.0 publicar uma alpha mais antiga ou um hotfix não faz mais essa tag andar para trás.1021
Fixar versão é a atitude certa quando um lançamento trava você: relate o problema, fixe a última versão boa, siga em frente. Verifique com codex --version depois de cada fixação, porque uma segunda instalação em outro ponto do seu PATH vai continuar servindo silenciosamente o próprio binário. O script de instalação verifica exatamente isso: quando encontra um codex gerenciado por Homebrew, npm ou bun já no seu PATH, ele avisa “Multiple managed Codex installs can be ambiguous because PATH order decides which one runs” e se oferece para executar por você a desinstalação correspondente; ele reconhece o caso do Homebrew pelos prefixos de macOS /opt/homebrew e /usr/local, só no macOS, então um codex do Linuxbrew não é detectado.12 codex doctor relata o mesmo estado depois do fato em Environment.7
Como desinstalo o Codex CLI?
Pare primeiro o servidor em segundo plano, enquanto codex ainda está no seu PATH, e depois remova o Codex pela rota que o instalou:
codex app-server daemon stop # first; skip if no server runs
npm uninstall -g @openai/codex
brew uninstall --cask codex
winget uninstall OpenAI.Codex
Uma instalação por script não tem gerenciador de pacotes a quem perguntar. O instalador coloca um link simbólico codex em ~/.local/bin (substituível com CODEX_INSTALL_DIR) que aponta para o binário dentro de ~/.codex/packages/standalone/current (current/bin/codex nos lançamentos atuais); current é, por sua vez, um link simbólico para ~/.codex/packages/standalone/releases/, onde cada versão baixada fica. No macOS, o instalador adiciona um segundo link simbólico ao lado do primeiro, codex-code-mode-host.12 Desde a v0.157.0 também pode haver um servidor em segundo plano: o pacote dele em ~/.codex/packages/app-server-daemon (ou, para um servidor iniciado pela primeira vez a partir de uma instalação mais antiga, o próprio pacote standalone) e o estado dele em ~/.codex/app-server-daemon/ (settings.json, daemon.pid e daemon-updater.pid, ou app-server.pid e app-server-updater.pid para um servidor rodando a partir do pacote standalone, e daemon.lock).20 Pare-o primeiro e depois remova tudo:
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
O servidor roda como codex app-server --listen unix://, com --remote-control antes de --listen quando o controle remoto está ligado (o argumento de escuta é só o esquema; nenhum caminho de socket aparece na linha de comando), e o atualizador dele como codex app-server daemon pid-update-loop; os arquivos pid em ~/.codex/app-server-daemon/ são o teste de qual processo pertence ao servidor em segundo plano: daemon.pid e daemon-updater.pid para um daemon dedicado, app-server.pid e app-server-updater.pid para um servidor rodando a partir do pacote standalone. stop encerra o servidor, não o atualizador, que continua acordando no intervalo dele até uma reinicialização do sistema, então se um pid registrado ali ainda estiver vivo, encerre-o agora com kill <pid>; qualquer outro processo codex app-server pertence a outra coisa que você está executando. Depois remova o resto:1220
rm -f ~/.local/bin/codex ~/.local/bin/codex-code-mode-host # the second link exists on macOS installs only
rm -rf ~/.codex/packages/standalone ~/.codex/packages/app-server-daemon # the CLI's package and the server's
rm -rf ~/.codex/app-server-daemon # the server's settings, pid files and lock
Se ~/.local/bin não estava no seu PATH na instalação, ou se o instalador encontrou uma instalação concorrente do Homebrew, npm ou bun e reescreveu a entrada, o script também acrescentou um bloco marcado ao seu perfil de shell: de # >>> Codex installer >>> até # <<< Codex installer <<< em ~/.zprofile (zsh no macOS), ~/.bash_profile (bash no macOS), ~/.zshrc (zsh no Linux), ~/.bashrc (bash no Linux) ou ~/.profile (qualquer outro shell). Apague essas três linhas para terminar.12
No Windows, o install.ps1 mantém o mesmo arranjo em %USERPROFILE%\.codex\packages\standalone (ou %CODEX_HOME%\packages\standalone, se você definiu essa variável): versões baixadas em releases\, uma junção current apontando para a que está em uso. Ele expõe o codex.exe por %LOCALAPPDATA%\Programs\OpenAI\Codex\bin (substituível com CODEX_INSTALL_DIR), que é por sua vez uma junção para current\bin, e em vez de um bloco de perfil ele grava esse caminho bin no seu PATH de usuário para futuras sessões do PowerShell. O servidor em segundo plano mantém ali as mesmas duas pastas, packages\app-server-daemon e app-server-daemon.1720 Pare-o, remova o diretório standalone e as duas pastas do servidor, depois a junção bin que agora ficou pendurada, e então tire a entrada da variável Path de usuário em Variáveis de Ambiente: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
Os mesmos arquivos pid decidem aqui: se um processo cujo pid está registrado em %USERPROFILE%\.codex\app-server-daemon\daemon.pid ou daemon-updater.pid (ou app-server.pid e app-server-updater.pid para um servidor no pacote standalone) ainda estiver vivo, encerre-o agora com Stop-Process -Id <pid>; qualquer outro processo do Codex é outra coisa que você está executando. Depois remova o resto:20
Remove-Item -Recurse -Force "$env:USERPROFILE\.codex\packages\standalone" # releases plus the current junction
Remove-Item -Recurse -Force "$env:USERPROFILE\.codex\packages\app-server-daemon", "$env:USERPROFILE\.codex\app-server-daemon" -ErrorAction SilentlyContinue # the server's package and state
cmd /c rmdir "$env:LOCALAPPDATA\Programs\OpenAI\Codex\bin" # the bin junction; rmdir removes the link, not a target
codex sandbox uninstall (v0.162.0) é a limpeza separada do sandbox legado do Windows: ele remove, com privilégios de administrador, as contas de sandbox e as regras de rede de toda a máquina, deixa em paz o diretório home do Codex e os diretórios do sandbox, e é rejeitado em outras plataformas.19
Em qualquer rota, pare primeiro o servidor em segundo plano se houver um rodando (codex app-server daemon stop) e procure ~/.codex/packages/app-server-daemon: o README do daemon diz que o bootstrap copia o pacote que o invoca para essa pasta quando não existe nenhum pacote de daemon e que um executável avulso não consegue fornecer um, e não foi testado aqui se a inicialização automática de uma instalação por Homebrew ou npm a cria; se a pasta existir, remova-a junto com ~/.codex/app-server-daemon depois da desinstalação por gerenciador de pacotes.20 As desinstalações por gerenciador de pacotes acima não tocam em ~/.codex/. O --zap do Homebrew também não, na prática: a única diretiva zap do cask é rmdir: "~/.codex", e o Homebrew só aplica rmdir: a diretórios que já estão vazios.2 Esse diretório guarda o config.toml, suas credenciais salvas e cada sessão, e é por isso que uma reinstalação retoma o login e o histórico de onde você parou. Apague-o só se quiser mesmo começar do zero, e sabendo o que isso significa em uma instalação por script:
rm -rf ~/.codex # discards config.toml, credentials, all sessions -- AND the CLI itself on a script install
Uma reinstalação limpa que preserva seu estado é uma linha no npm: npm uninstall -g @openai/codex && npm install -g @openai/codex@latest. Na rota do script, executar o instalador de novo adiciona a versão nova em ~/.codex/packages/standalone/releases, aponta current para ela, deixa as versões mais antigas no lugar até você removê-las e deixa sua configuração em paz.12
O ciclo de vida inteiro em uma tabela
| Tarefa | install.sh (macOS, Linux) | install.ps1 (Windows) | npm | Homebrew | winget |
|---|---|---|---|---|---|
| Instalar | curl -fsSL https://chatgpt.com/codex/install.sh \| sh |
powershell -ExecutionPolicy ByPass -c "irm https://chatgpt.com/codex/install.ps1 \| iex" |
npm install -g @openai/codex |
brew install --cask codex |
winget install OpenAI.Codex |
| Atualizar | codex update, ou executar o script de novo |
codex update, ou executar o script de novo |
codex update, ou npm install -g @openai/codex@latest |
codex update, ou brew upgrade --cask codex |
winget upgrade OpenAI.Codex (codex update não reconhece esta rota) |
| Fixar versão | sh -s -- --release 0.162.1 |
$env:CODEX_RELEASE = '0.162.1' antes da linha de instalação |
npm install -g @openai/[email protected] |
não suportado | winget install OpenAI.Codex --version 0.161.0 |
| Desinstalar | codex app-server daemon stop, depois remover os links simbólicos de ~/.local/bin, ~/.codex/packages/standalone, ~/.codex/packages/app-server-daemon e ~/.codex/app-server-daemon |
codex app-server daemon stop, depois remover %USERPROFILE%\.codex\packages\standalone, as pastas packages\app-server-daemon e app-server-daemon do servidor, a junção %LOCALAPPDATA%\Programs\OpenAI\Codex\bin e a entrada do PATH de usuário |
codex app-server daemon stop se houver um servidor rodando, depois npm uninstall -g @openai/codex e então as pastas do daemon, se existirem |
a mesma parada, depois brew uninstall --cask codex (--zap não esvazia um ~/.codex com conteúdo) e então as pastas do daemon, se existirem |
a mesma parada, depois winget uninstall OpenAI.Codex e então as pastas do daemon, se existirem |
| Verificar | codex --version, codex doctor |
idem | idem | idem | idem |
O que o codex doctor verifica?
codex doctor é o comando a executar antes de relatar um bug ou depurar uma instalação que “funcionava ontem”. Na 0.153.4, ele reúne sete seções em um único relatório – Notes, Environment (consistência de runtime e instalação), Configuration (estado de carregamento do config.toml, autenticação, MCP, política de sandbox), Desktop App (adicionada na v0.149.0), Updates, Connectivity e Background Server – com --summary para uma visão compacta, --json para uma forma legível por máquina e com dados sensíveis ocultados, --all para expandir listas truncadas e --no-color para logs; codex doctor --help também lista --ascii na 0.153.4; a v0.162.0 acrescentou ao relatório o modo de TUI configurado.7131522 A maioria dos relatos de “o Codex quebrou” se resolve em algo que ele nomeia na primeira tela: um modo de autenticação obsoleto, um config.toml que não pôde ser interpretado ou uma segunda instalação escondendo a que está no seu PATH. O detalhamento completo, seção por seção, está no guia.
O que muda depois de instalar
A primeira coisa em que uma instalação nova tropeça não é o binário. Desde a v0.149.0, a CLI se recusa a iniciar com approval_policy = "untrusted", então um config.toml copiado de uma máquina mais antiga precisa de uma mudança.13 Vindo do Claude Code? O post de migração coloca as duas configurações lado a lado, e o post sobre hooks explica o que o Codex executa ao redor do modelo. O guia do Codex CLI é a referência completa: modos de sandbox e aprovação, AGENTS.md, MCP, skills e tarefas na nuvem. E se você usa as duas ferramentas, a página de instalação do Claude Code é a gêmea desta.
Perguntas frequentes
Como atualizo o Codex CLI para a versão mais recente?
Execute codex update (v0.128.0 em diante); ele detecta se você instalou pelo script, npm ou Homebrew e executa o upgrade daquele canal. Os equivalentes manuais são executar o script de instalação de novo, npm install -g @openai/codex@latest ou brew upgrade --cask codex. Uma instalação por winget não é um canal que o codex update reconheça; para essa, use winget upgrade OpenAI.Codex.
O Codex CLI se atualiza automaticamente?
A CLI não, com uma exceção. A TUI verifica se há um lançamento mais novo e oferece o comando de atualização que corresponde ao seu canal de instalação, e codex update (v0.128.0 em diante) o executa. A exceção é o servidor em segundo plano que o Codex inicia por padrão desde a v0.157.0: no canal latest, ele procura atualizações cinco minutos depois de iniciar e depois a cada hora, e um servidor iniciado pela primeira vez a partir de uma instalação por script mais antiga atualiza ~/.codex/packages/standalone, o pacote da própria CLI, assim que uma instalação latest tiver registrado o canal. Defina "updater": { "autoUpdateEnabled": false } em ~/.codex/app-server-daemon/settings.json e execute codex app-server daemon restart para impedir isso.
Como desinstalo o Codex CLI?
Pare primeiro o servidor em segundo plano se houver um rodando (codex app-server daemon stop) e depois use a rota que o instalou: npm uninstall -g @openai/codex, brew uninstall --cask codex ou winget uninstall OpenAI.Codex, e procure ~/.codex/packages/app-server-daemon e ~/.codex/app-server-daemon, que uma desinstalação por gerenciador de pacotes deixa para trás. Em uma instalação por script, faça a mesma parada e depois remova o link simbólico ~/.local/bin/codex (e ~/.local/bin/codex-code-mode-host no macOS), o diretório ~/.codex/packages/standalone e os ~/.codex/packages/app-server-daemon e ~/.codex/app-server-daemon do servidor. No Windows, a instalação por script é %USERPROFILE%\.codex\packages\standalone (mais as pastas packages\app-server-daemon e app-server-daemon do servidor), a junção %LOCALAPPDATA%\Programs\OpenAI\Codex\bin e uma entrada no seu PATH de usuário; remova todos eles. Sua configuração, credenciais e sessões permanecem em ~/.codex/ até você mesmo remover o resto desse diretório.
Como instalo o Codex CLI no Windows?
Execute powershell -ExecutionPolicy ByPass -c "irm https://chatgpt.com/codex/install.ps1 | iex". A CLI roda nativamente no PowerShell com um sandbox do Windows (o Microsoft Execution Containers quando você define prefer_mxc = true e o dispositivo tem suporte; caso contrário, o modo legado que você configurou, elevated se nenhum estiver definido; selecionar [windows] sandbox = "mxc" explicitamente usa o MXC ou falha, sem reserva); o WSL2 é uma opção se você precisar de ferramentas do Linux ou se nenhuma das implementações de sandbox servir, não um pré-requisito. O Windows 11 é a base recomendada. winget install OpenAI.Codex também funciona, mas fica atrás da linha estável.
Preciso do Node.js para instalar o Codex?
Só para a rota do npm, e o pacote exige Node 16 ou mais recente. O script de instalação, o script do PowerShell e o cask do Homebrew entregam todos o binário codex compilado, então uma máquina sem Node consegue executar o Codex.
Como verifico qual versão do Codex eu tenho?
codex --version imprime a versão (por exemplo, codex-cli 0.163.0). npm view @openai/codex version mostra a versão publicada mais recente, e codex doctor relata o caminho de instalação e se outra cópia no seu PATH está escondendo essa.
-
OpenAI, README do openai/codex – a seção de instalação abre com
curl -fsSL https://chatgpt.com/codex/install.sh | shpara macOS e Linux e com a linha única de PowerShellinstall.ps1para Windows, e depois diz que a CLI “can also be installed via” npm (npm install -g @openai/codex) e Homebrew (brew install --cask codex); documentacurl -fsSL https://chatgpt.com/codex/install.sh | CODEX_INSTALLER_USE_RELEASES_OPENAI_COM=false she a forma de PowerShell$env:CODEX_INSTALLER_USE_RELEASES_OPENAI_COM='false', introduzidas com “To force GitHub Releases, setCODEX_INSTALLER_USE_RELEASES_OPENAI_COMtofalse(0andnoare also accepted)”; o nome de pacote@openai/codex; binários por plataforma para macOS (Apple silicon, x86_64) e Linux (x86_64, arm64) no GitHub Releases. Verificado em 2026-09-06 e de novo em 2026-10-15, quando a seção de instalação estava inalterada, exceto pela frase citada na nota 6. ↩↩↩↩↩↩↩↩↩ -
Homebrew, cask
codex– token de caskcodex, uma única versão atual (0.163.0 em 2026-10-15, atualizada pelo commitcodex 0.163.0no Homebrew/homebrew-cask às 21:44:02 UTC, treze minutos depois do lançamento no GitHub às 21:30:38 UTC), um artefato bináriobin/codexcom completions de shell geradas a partir dele, umdepends_onvazio, plataformas suportadas que incluemx86_64_linuxearm64_linuxao lado das versões de macOS, e uma URL de download decodex-package-aarch64-apple-darwin.tar.gzno lançamento do GitHub. Verificado pela API do formulae e pela lista de commits do homebrew-cask em 2026-10-15 (0.153.4 em 2026-09-06). A diretiva zap do cask ézap rmdir: "~/.codex", e o Cask Cookbook definermdir:como caminhos de diretórios a remover se estiverem vazios. ↩↩↩↩↩↩ -
Microsoft, manifestos do winget-pkgs para
OpenAI.Codex– 138 versões publicadas, a mais recente 0.161.0, em 2026-10-15 (119 e 0.146.1 em 2026-09-06); nenhum manifesto para 0.147.0, 0.152.1 nem da 0.153.x à 0.155.x. O pacote é publicado pela OpenAI: o.github/workflows/rust-release.ymlem openai/codex tem um jobwingetque envia o manifesto comkomac(o comentário dele: “Adapted from the WinGet Releaser version previously used by this job”; relido em 2026-10-15). Os pull requests, pela busca no repositório em 2026-10-15, com datas em UTC e dooai-fork-botsalvo indicação: 0.147.0 (#413497) fechado sem merge; de 0.148.0 (#420225) a 0.152.0 (#427090), abertos de 18 de agosto a 1º de setembro, mesclados em 11 de setembro, exceto 0.151.0 (#426091) em 30 de setembro e 0.149.1 (#423060) em 1º de outubro; 0.154.0 (#435129, aberto por um membro da comunidade,z3oya) fechado sem merge; de 0.156.0 (#439266) a 0.161.0 (#448267), doze pedidos abertos de 22 de setembro a 7 de outubro, cada um mesclado no dia da abertura ou no seguinte; 0.162.0 (#449062), 0.162.1 (#449772) e 0.163.0 (#453561) abertos em 2026-10-15. O README e a documentação da CLI da OpenAI não mencionam o winget. ↩↩↩↩↩ -
OpenAI, notas de lançamento do Codex CLI v0.128.0, 30 de abril de 2026 – “Added
codex update, configurable TUI keymaps, plan-mode nudges, action-required terminal titles, and active-turn/statuslineand/titleedits.” O pull request do comando, openai/codex #19933 (mesclado em 28 de abril de 2026), explica: “Reused the existing install-channel detection and update command runner that the TUI already uses for update prompts.” O mapa de canais écodex-rs/tui/src/update_action.rs: npm e seus irmãos bun, pnpm e Vite+, Homebrew e o instalador independente (Unix e Windows); sem variante para winget (lido em 2026-09-06). Relido em 2026-10-15: o enum ganhouDaemon(DaemonUpdateSource)(“Replace the local daemon after restoring the terminal”), e os comandos do instalador independente sãocurl -fsSL https://chatgpt.com/codex/install.sh | CODEX_NON_INTERACTIVE=1 she$env:CODEX_NON_INTERACTIVE=1; irm https://chatgpt.com/codex/install.ps1 | iex; ainda sem variante para winget. ↩↩↩↩ -
OpenAI, notas de lançamento do Codex CLI v0.106.0, 26 de fevereiro de 2026 – “Added a direct install script for macOS and Linux and publish it as a GitHub release asset, using the existing platform payload (including
codexandrg)”; oinstall.shé anexado a cada lançamento desde então. O lançamento rust-v0.163.0 (assets listados pela API de releases do GitHub, 2026-10-15) trazinstall.sheinstall.ps1, oscodex-<target>.tar.gzpor plataforma, arquivos.zste.dmgde macOS, pacotescodex-package-<target>.tar.gzcomcodex-package_SHA256SUMS, binárioscodex-app-server-*ecodex-responses-api-proxy-*, tarballscodex-npm-*.tgze seis arquivosopenai_codex_cli_bin-0.163.0-*.whl; o PyPI descreve oopenai-codex-cli-bincomo “Pinned Codex CLI runtime for the Python SDK”. O tarball de macOS arm64 baixado em 2026-10-15 contém a única entradacodex-aarch64-apple-darwin. ↩↩ -
OpenAI, notas de lançamento do Codex CLI v0.146.0, 29 de julho de 2026 – “Publish release artifacts, channel metadata, and installer aliases through OpenAI-hosted release infrastructure, with GitHub fallback.”
https://chatgpt.com/codex/install.shresponde com 302 parahttps://releases.openai.com/codex/install.sh(verificado em 2026-09-06 e em 2026-10-15); o README afirmava isso em 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, mesclado em 13 de maio de 2026 – as seções do relatório (Notes, Environment, Configuration, Updates, Connectivity, Background Server) e suas flags--summary,--json,--alle--no-color. ↩↩ -
OpenAI, Codex on Windows: Windows sandbox – conforme lido em 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”, e
prefer_mxc = trueem[features]para a CLI;allow_mxc = falseem[windows]norequirements.tomlo bloqueia; um teste de um único comando documentado para “Codex CLI 0.162.0 and later” com a saída esperadaMXC_OK; as reservas legadas[windows] sandbox = "elevated"(“the preferred legacy fallback”) e"unelevated"(“a legacy fallback” com “weaker network isolation than elevated”); “Use MXC when the device and policy support it. Otherwise, prefer elevated, with unelevated as a secondary fallback”; “Use the native Windows sandbox by default. Choose WSL when you need Linux-native tooling, your workflow already lives in WSL2, or the available native Windows implementations don’t meet your needs”; Windows 11 recomendado, “Recent, fully updated Windows 10” marcado como “Best effort”, com “Windows 10 version 1809 or newer is required” para o suporte ao console, Windows 10 mais antigo não recomendado;wingetesperado para a configuração. Verificado pela primeira vez em 2026-09-06, quando a página descrevia só os dois modos legados. ↩↩↩↩↩↩↩↩ -
OpenAI, lançamentos do openai/codex –
rust-v0.163.0publicado em 15 de outubro de 2026 às 21:30 UTC como o lançamento mais recente, depois derust-v0.160.0(1º de outubro),rust-v0.160.1(5 de outubro),rust-v0.161.0(7 de outubro),rust-v0.162.0(8 de outubro) erust-v0.162.1(9 de outubro);rust-v0.153.4era o mais recente em 4 de setembro de 2026 (pela leitura de 6 de setembro; a listagem de 15 de outubro volta até 1º de outubro). Datas da API de releases do GitHub. ↩↩↩ -
npm,
@openai/codex–latest= 0.163.0 (publicada em 2026-10-15 às 21:37 UTC),alpha= 0.163.0-alpha.11 (publicada em 2026-10-14 às 03:38 UTC) eengines: { node: ">=16" }na 0.163.0, pelo documento do registro em 2026-10-15;latestera 0.153.4 em 2026-09-06, e o mapatimedo documento lista catorze versões estáveis depois da 0.146.1 até a 0.153.4 (0.147.0, 0.148.0, 0.149.0, 0.149.1, 0.150.0, 0.150.1, 0.151.0, 0.152.0, 0.152.1, 0.153.0 a 0.153.4). ↩↩↩↩↩↩ -
OpenAI, documentação do Codex CLI – a instalação abre com o instalador independente (
curl -fsSL https://chatgpt.com/codex/install.sh | shno macOS e no Linux, uma aba de instalador para Windows), apresenta Homebrew e npm como alternativas e cita executar o instalador de novo como a atualização para instalações independentes. Verificado em 2026-09-06 e de novo em 2026-10-15, quando as abas de instalação eram macOS/Linux, Windows, npm e Homebrew. ↩↩↩↩↩↩ -
OpenAI, o script de instalação
install.shconforme servido em 2026-09-06 e relido em 2026-10-15 –Usage: install.sh [--release VERSION]; variáveis de ambienteCODEX_RELEASE(“Version to install; overridden by –release”),CODEX_INSTALL_DIR(padrão~/.local/bin),CODEX_HOME(padrão~/.codex) eCODEX_INSTALLER_USE_RELEASES_OPENAI_COM(“Set to 0, false, or no to use GitHub Releases”); versões guardadas em~/.codex/packages/standalone/releasesatrás de um link simbólicocurrent, com um link simbólicocodex(ecodex-code-mode-hostno macOS) no diretório bin; um bloco dePATH# >>> Codex installer >>>/# <<< Codex installer <<<acrescentado a~/.zprofile,~/.bash_profile,~/.zshrc,~/.bashrcou~/.profilequando o diretório bin ainda não está noPATHou uma instalação gerenciada concorrente foi detectada (add_to_pathsó retorna cedo em uma correspondência dePATHse nenhum conflito foi encontrado); e a verificação de instalações concorrentes que avisa “Multiple managed Codex installs can be ambiguous because PATH order decides which one runs” e oferecebrew uninstall --cask codex,npm uninstall -g @openai/codexoubun remove -g @openai/codex. A cópia de 2026-10-15 acrescentaCODEX_NON_INTERACTIVE(“Set to 1, true, or yes to skip prompts”) ao texto de uso; um modo só de daemon (CODEX_INSTALL_DAEMON_ONLY=1, raiz~/.codex/packages/app-server-daemon, registro do atualizadorapp-server-daemon/daemon-updater.pid, arquivo marcadorauto-update-version, gravado em uma instalaçãolateste removido em um lançamento explícito no fim do script) com o comentário “An explicit daemon update may leave a local or pinned release. Scheduled updates still require the selected release to follow the latest channel.” na verificação que encerra quando o lançamento selecionado não é o registrado; e uma preferência pelo assetcodex-package-<target>.tar.gzverificado contracodex-package_SHA256SUMS, com o tarball npm da plataforma como layout legado. Osbin/codex,bin/codex-code-mode-hostecodex-path/rgdo pacote se tornam executáveis, e o linkcodex-code-mode-hostsó é criado no macOS; o atualizador roda como o subcomandoapp-server daemon pid-update-loop(a verificação de propriedade do script na linha 1266 o invoca com--check-package-ownership). ↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
OpenAI, notas de lançamento do Codex CLI v0.149.0, 20 de agosto de 2026 – inclui #39630, “Retire the untrusted approval policy”, e “
codex doctornow diagnoses endpoint protection, network/proxy failures, desktop app state, and update connectivity.” ↩↩ -
OpenAI, Codex on Windows: WSL, verificado de novo em 2026-10-15 – “Use Codex CLI with WSL”:
wsl --install, abrir um shell do WSL, depoiscurl -fsSL https://chatgpt.com/codex/install.sh | shecodex; a página também recomenda manter os repositórios no diretório home do Linux em vez de caminhos/mnt/c/montados do Windows, para E/S mais rápida. ↩ -
Reprodução do autor no Codex CLI 0.153.4 (instalação por npm), 2026-09-06:
codex doctor --summary --no-colorimprime as seções Notes, Environment, Configuration, Desktop App, Updates, Connectivity e Background Server nessa ordem;codex doctor --helplista--ascii. ↩ -
OpenAI, referência de configuração do Codex –
check_for_update_on_startup(booleano): “Check for Codex updates on startup (set to false only when updates are centrally managed)”;features.in_app_updates(booleano): “Set to false in requirements.toml to disable in-app updates. Updates remain enabled by default when this requirement is omitted.” Verificado em 2026-09-06 e em 2026-10-15. ↩ -
OpenAI, o script de instalação
install.ps1conforme servido em 2026-09-06 e relido em 2026-10-15 – bloco de parâmetrosparam([string]$Release = $env:CODEX_RELEASE)comlatestcomo reserva;$codexHome=CODEX_HOMEou%USERPROFILE%\.codex;packages\standalonecontendoreleases\, uma junçãocurrenteinstall.lock; o diretório bin visível%LOCALAPPDATA%\Programs\OpenAI\Codex\bin(ouCODEX_INSTALL_DIR) criado como junção paracurrent\bin; oPathde escopo de usuário gravado com[Environment]::SetEnvironmentVariable("Path", ..., "User")(“PATH updated for future PowerShell sessions.”). A cópia de 2026-10-15 calcula o SHA-256 do arquivo com .NET (SHA256CryptoServiceProvider) e o compara com ocodex-package_SHA256SUMSdo lançamento, lançando “Downloaded Codex archive checksum did not match expected digest” se não baterem. ↩↩↩↩ -
OpenAI, notas de lançamento do Codex CLI v0.162.0, 8 de outubro de 2026 – “Publish a signed PowerShell installer with Windows releases. (#51158)” e “Fix archive checksum verification when installing through Windows PowerShell with PowerShell 7 module paths present. (#51257)”. PR #51158, mesclado em 5 de outubro de 2026: “sign
scripts/install/install.ps1with Azure Trusted Signing in the x64 release job” e “publish the signed artifact asinstall.ps1instead of copying the unsigned source”. PR #51257, mesclado em 6 de outubro: “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, mesclado em 2 de outubro de 2026 e listado nas notas de lançamento da v0.162.0; a descrição do pull request: “Addcodex sandbox uninstallto remove machine-wide legacy Windows sandbox accounts and network rules with administrator privileges. Run cleanup without loading configuration, preserving Codex home, sandbox directories, and filesystem permissions. Reject the command on other platforms.” ↩ -
OpenAI,
codex-rs/app-server-daemon/README.mdna tag rust-v0.163.0 – “codex-app-server-daemonis experimental and its lifecycle contract may change”; os oito comandos (codex app-server daemon start,restart,update,enable-remote-control,disable-remote-control,stop,version,bootstrap --remote-control); “Eligible managed daemons check for updates after five minutes, then hourly by default. EditCODEX_HOME/app-server-daemon/settings.jsonto change this” com o exemplo"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” e “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”; a tabela de situações (“the selected release stays pinned” quando o instalador selecionou um lançamento explícito; “the running server restarts with the new binary before the updater replaces itself”); os arquivos de estado emCODEX_HOME/app-server-daemon/como o README os lista (settings.json,app-server.pid,app-server-updater.pid,daemon.lock; osdaemon.pidedaemon-updater.piddo daemon dedicado vêm do código-fonte, abaixo); “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” e “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” e “A bare executable cannot supply a new installation”. Os nomes dos arquivos pid vêm do código-fonte na mesma 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"(linhas 54 a 57), o par legado escolhido só quando o binário gerenciado está empackages/standalone(linhas 334 a 337 e 376 a 379),stopparando o backend em execução (linha 615) e o atualizador parado porensure_managed_updaterem um início, um reinício ou uma mudança de controle remoto (linhas 893 a 930) e em dois outros caminhos do ciclo de vida (linhas 474 a 477 e 829 a 832), nunca porstop, junto com a frase do README “the updater loop is not reboot-persistent” (linha 145); as linhas de comando desrc/backend/pid.rs(linhas 385 a 401:app-server --listen unix://para o servidor,app-server --remote-control --listen unix://com o controle remoto ligado,app-server daemon pid-update-looppara o atualizador). Também OpenAI, notas de lançamento do Codex CLI v0.157.0, publicadas em 25 de setembro de 2026 às 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”, cujo pull request começa com “Daemon updates discard installer stderr”; v0.163.0, 15 de outubro – “Restart a managed background server from/daemon. Codex warns about work the restart could interrupt, then reconnects automatically. (#53173)” e “#52223 Enforce application network policy for daemon updates”. O modo daemon do instalador e a verificação de atualização dele estão na nota 12. ↩↩↩↩↩↩↩↩ -
OpenAI, notas de lançamento do Codex CLI v0.161.0, 7 de outubro de 2026 – “Publishing an older alpha or hotfix no longer moves npm alpha tags backward. (#49704)”. ↩
-
OpenAI, notas de lançamento do Codex CLI v0.162.0 – “#50200 Report the configured TUI mode in
codex doctor”. ↩