Início / Aprenda / Codex CLI com um provedor personalizado: config.toml, modelos GPT e Claude, extensão para IDE e correções
Codex CLI. Uma janela de terminal em tom de carvão conectada a um pequeno seletor de roteamento semelhante a uma bússola e a dois cartões de provedores claramente separados.

Codex CLI com um provedor personalizado: config.toml, modelos GPT e Claude, extensão para IDE e correções

O Codex lê um único arquivo, ~/.codex/config.toml, compartilhado pela CLI, codex exec e pela extensão para IDE. Um provedor personalizado nesse arquivo direciona o Codex para este gateway, onde a mesma configuração executa modelos GPT e Claude. As versões atuais do Codex usam apenas a Responses API (wire_api = "responses"), portanto, os guias antigos que usam wire_api = "chat" não funcionam mais.

Instalar o Codex

terminal
# macOS / Linux
curl -fsSL https://chatgpt.com/codex/install.sh | sh

# or with a package manager
npm install -g @openai/codex
brew install --cask codex

codex --version
Windows PowerShell
powershell -ExecutionPolicy ByPass -c "irm https://chatgpt.com/codex/install.ps1 | iex"

A extensão do Codex para VS Code, Cursor e Windsurf é instalada pela loja de extensões do editor e usa o mesmo ~/.codex/config.toml que a CLI, portanto, tudo abaixo se aplica a ambos.

Use uma chave do grupo correto

Uma chave do gateway pertence a um grupo, e esse grupo determina quais modelos a chave pode chamar. Para modelos GPT, crie a chave no grupo **Codex** no painel. Para modelos Claude, qualquer chave Claude com pagamento por uso funciona. Uma chave de um grupo Ilimitado exige um plano ativo; sem ele, todas as solicitações falham com No active subscription found for this group.

~/.bashrc ou ~/.zshrc
export AIPRIME_CODEX_KEY=key_from_the_codex_group    # GPT models
export AIPRIME_CLAUDE_KEY=key_from_a_claude_group    # Claude models
Windows
setx AIPRIME_CODEX_KEY "key_from_the_codex_group"
setx AIPRIME_CLAUDE_KEY "key_from_a_claude_group"
# open a new terminal afterwards

config.toml para modelos GPT

~/.codex/config.toml
model_provider = "aiprime"
model = "gpt-6-astra"
model_reasoning_effort = "high"

[model_providers.aiprime]
name = "AI Prime Tech"
base_url = "https://aiprimetech.io/v1"
env_key = "AIPRIME_CODEX_KEY"
wire_api = "responses"
supports_websockets = false
Definir Por quê
[model_providers.aiprime]Qualquer ID, exceto o reservado openai, ollama e lmstudio
base_url = "https://aiprimetech.io/v1"O Codex acrescenta /responses a ele
env_keyO **nome** da variável de ambiente que contém a chave, e não a própria chave
wire_api = "responses"O único valor aceito pelo Codex atualmente
supports_websockets = falseMantém o Codex usando streaming HTTP simples, que funciona por meio de qualquer proxy ou VPN
Não adicione requires_openai_auth = true ou experimental_bearer_token a este provedor. Com requires_openai_auth = true o Codex ignora env_key e envia suas credenciais de login do ChatGPT ou da OpenAI, que o gateway rejeita.

Execute o Codex com modelos Claude

O gateway aceita solicitações da Responses API para modelos Claude e as traduz, permitindo que o Codex também use o Claude. Adicione um segundo provedor que use sua chave Claude e, depois, um perfil para alternar para ele.

~/.codex/config.toml (adicione abaixo do primeiro provedor)
[model_providers.aiprime_claude]
name = "AI Prime Tech (Claude)"
base_url = "https://aiprimetech.io/v1"
env_key = "AIPRIME_CLAUDE_KEY"
wire_api = "responses"
supports_websockets = false
~/.codex/claude.config.toml
model_provider = "aiprime_claude"
model = "claude-sonnet-5"
model_reasoning_effort = "high"
terminal
codex --profile claude
codex exec --profile claude "review the last commit for bugs"

Desde o Codex 0.134.0, cada perfil tem seu próprio arquivo, ~/.codex/<name>.config.toml, com suas chaves no nível superior; [profiles.<name>] as tabelas dentro de config.toml não são mais lidas. Perfis e provedores só podem ser definidos na sua configuração de usuário: o arquivo do projeto .codex/config.toml ignora model_provider e model_providers.

Modelos e esforço de raciocínio

ID do modelo Provedor Use para
gpt-6-astraChave do grupo CodexO modelo GPT mais poderoso do gateway; tarefas longas de agentes
gpt-6-solChave do grupo CodexGPT mais rápido e econômico para programação de rotina
gpt-5.6-terraChave do grupo CodexTarefas leves e edições rápidas
claude-sonnet-5Chave ClaudeClaude padrão para tarefas de programação
claude-opus-5-5Chave ClaudeRaciocínio mais complexo e refatorações grandes
claude-fable-5-1Chave ClaudeO mais capaz e mais caro

model_reasoning_effort aceita low, medium, high, xhigh ou max, dependendo do modelo. Não defina none: esses modelos rejeitam esse valor com 'none' is not supported. review_model define um modelo diferente para /review se você quiser. O painel mostra todos os modelos que o grupo da sua chave pode chamar.

Extensão para IDE e codex exec

A extensão para IDE lê o mesmo config.toml, mas env_key é resolvido a partir do ambiente do próprio editor. Um editor iniciado pelo dock ou pelo menu Iniciar não vê as variáveis exportadas em .bashrc, e o Codex então falha com Invalid API key enquanto a CLI funciona. Defina a variável para todo o sistema (no Windows, setx faz isso) ou inicie o editor a partir de um terminal, por exemplo, code ..

codex exec executa uma tarefa sem a interface interativa, o que é adequado para scripts e CI. Usa a mesma configuração e os mesmos perfis:

terminal
codex exec "write unit tests for utils.py"
codex exec --profile claude "summarise the changes on this branch"
codex login status        # which authentication method is active

Novas tentativas e tempos limite

Cada provedor tem suas próprias configurações de novas tentativas e streaming. Os valores padrão são 4 novas tentativas de solicitação, 5 reconexões de streaming e um tempo limite de inatividade de 5 minutos por stream. Etapas longas de raciocínio podem ficar sem transmitir dados por algum tempo, então aumentar o tempo limite de inatividade ajuda em níveis altos de esforço.

~/.codex/config.toml
[model_providers.aiprime]
# ...settings from above...
request_max_retries = 6
stream_max_retries = 8
stream_idle_timeout_ms = 600000

Solução de problemas: erros encontrados por usuários do Codex

Os erros abaixo são os que os clientes Codex realmente produzem neste gateway, começando pelos mais comuns.

O que você vê Causa Correção
403 No active subscription found for this groupA chave pertence a um grupo Ilimitado sem plano ativoUse uma chave de um grupo com pagamento por uso (Codex para GPT) ou compre um plano
401 Invalid API keyA variável está vazia no processo que executa o Codex (geralmente a IDE), ou requires_openai_auth = true fez o Codex enviar outras credenciais de loginecho $AIPRIME_CODEX_KEY; remova requires_openai_auth; reinicie o editor
404 Model "..." is not supported by any configured account in this groupO modelo não pertence ao grupo da chave, por exemplo, um modelo Claude com uma chave GPTAlterne o provedor ou o perfil para que a chave corresponda ao modelo
426 WebSocket upgrade requiredO transporte WebSocket está ativado, mas a conexão não foi atualizadasupports_websockets = false, e remova responses_websockets_v2 de [features]
403 Your API key has expiredA chave foi criada com uma data de expiraçãoCrie uma nova chave no painel
'none' is not supportedEsforço de raciocínio definido como noneUse low ou superior
404 page not foundbase_url contém /v1 duas vezesUse exatamente https://aiprimetech.io/v1
Erro de configuração referente a wire_api após uma atualizaçãoA wire_api = "chat" linha de um guia antigoDefina wire_api = "responses"
Your balance is used upO saldo está zeradoAdicionar créditos
Concurrency limit exceeded for userVários agentes ou janelas do Codex em execução ao mesmo tempoExecute menos em paralelo ou peça ao suporte um limite maior de simultaneidade

Está comparando o Codex com o Claude Code antes de escolher um deles? Veja Claude Code vs Codex.

Perguntas frequentes

Onde fica o arquivo de configuração do Codex?
~/.codex/config.toml (ou $CODEX_HOME/config.toml). A CLI, o codex exec e a extensão para IDE leem esse arquivo. O .codex/config.toml de um projeto não pode definir provedores.
A CLI do Codex pode usar modelos Claude?
Sim, por meio de um gateway que aceita solicitações da Responses API para modelos Claude. Adicione um provedor com uma chave Claude e defina model como um ID, por exemplo claude-sonnet-5.
wire_api = "chat" ainda funciona no Codex?
Não. A referência de configuração do Codex lista responses como o único valor compatível, e ele é o padrão quando omitido.
Por que a extensão do Codex para VS Code informa que a chave de API é inválida quando a CLI funciona?
env_key é lido do ambiente do editor. Defina a variável no nível do sistema ou inicie o editor a partir de um terminal em que ela esteja exportada.
O que significa 'Nenhuma assinatura ativa encontrada para este grupo' no Codex?
A chave pertence a um grupo de assinatura (Unlimited) sem plano ativo. Use uma chave de um grupo com pagamento por uso ou compre um plano.
Comece a usar o Claude em minutos

Obtenha uma chave de API — sem precisar de conta na Anthropic nem de lista de espera.

Obtenha sua chave de API

AI Prime Tech é um gateway de API independente. Não tem afiliação com a Anthropic, não é endossado por ela e não é seu revendedor. Claude e os nomes dos modelos relacionados são marcas comerciais de seus respectivos proprietários.

Mais guias da API do Claude

Como obter uma chave de API do ClaudePreços da API Claude explicadosA maneira mais barata de usar a API do ClaudeCursor ilimitado com a API do ClaudeAcesso ilimitado ao Claude CodeGateway da API do Claude vs. acesso direto à AnthropicComo usar Claude por meio de uma API compatível com OpenAIModelos Claude explicados: uma comparação entre Claude Opus, Sonnet, Haiku e Fable — todos os modelos da API Claude, nomes e preços dos modelos Anthropic (2026)Pagamento da API do Claude com criptomoedasAcesso à API do Claude sem lista de esperaComo reduzir o uso de tokens do ClaudeCline ilimitado com a API do ClaudeRoo Code ilimitado com a API do ClaudeClaude ilimitado nas IDEs da JetBrainsAider ilimitado com a API do ClaudeClaude ilimitado no VS CodeConfiguração do OpenCode para Claude: configuração do opencode.json, modelos e erros comunsComo executar um agente Hermes ilimitado no ClaudeExecutando OpenClaw ilimitado com ClaudeO que significa uma API compatível com a AnthropicChave de API do Claude Code — ANTHROPIC_API_KEY: como obtê-la, configurá-la e quando usar claude setup-token em seu lugarCustos da API do Claude Code — Preços e como reduzi-losErros da API Claude explicados: erro de servidor 500, sobrecarga 529, limite de requisições 429, requisição inválida 400 — e a correção para cada umComo comprar créditos da API do Claude — e por que um crédito do Claude é melhor do que qualquer oferta de "comprar conta do Claude"API Claude gratuita: existe uma chave de API Claude gratuita e o que realmente é gratuito em 2026?API do Claude vs assinatura Claude Pro/Max — Qual escolherConectando Claude ao n8nRoteando LiteLLM para ClaudeUsando Claude no Kilo CodeIntegre Claude ao GitHub CopilotConecte o Zed ao Claude por meio do gatewayConecte o Cherry Studio ao ClaudeChatAnthropic no LangChain: importação, base_url, streaming, ferramentas e errosSDK de Python da Anthropic: instale, defina base_url, use streaming e trate errosClaude com o Vercel AI SDK: baseURL de createAnthropic, streaming e correçõesExecute o Factory Droid com o ClaudeA API do Claude Code, explicadaComo integrar a API do Claude à sua aplicaçãoComo obter uso ilimitado do Claude — e por que não existe "Claude Code crackeado"