Source: https://aiprimetech.io/pt/learn/use-claude-api-with-codex/ [Início](/pt/) / [Aprenda](/pt/learn/) / Codex CLI com um provedor personalizado: config.toml, modelos GPT e Claude, extensão para IDE e correções # 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 terminalCopiar ``` # 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 PowerShellCopiar ``` 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 ~/.zshrcCopiar ``` export AIPRIME_CODEX_KEY=key_from_the_codex_group # GPT models export AIPRIME_CLAUDE_KEY=key_from_a_claude_group # Claude models ``` WindowsCopiar ``` 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.tomlCopiar ``` 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_key | O **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 = false | Manté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)Copiar ``` [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.tomlCopiar ``` model_provider = "aiprime_claude" model = "claude-sonnet-5" model_reasoning_effort = "high" ``` terminalCopiar ``` 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/.config.toml, com suas chaves no nível superior; [profiles.] 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-astra | Chave do grupo Codex | O modelo GPT mais poderoso do gateway; tarefas longas de agentes | gpt-6-sol | Chave do grupo Codex | GPT mais rápido e econômico para programação de rotina | gpt-5.6-terra | Chave do grupo Codex | Tarefas leves e edições rápidas | claude-sonnet-5 | Chave Claude | Claude padrão para tarefas de programação | claude-opus-5-5 | Chave Claude | Raciocínio mais complexo e refatorações grandes | claude-fable-5-1 | Chave Claude | O 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: terminalCopiar ``` 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.tomlCopiar ``` [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 group | A chave pertence a um grupo Ilimitado sem plano ativo | Use uma chave de um grupo com pagamento por uso (Codex para GPT) ou compre um plano | 401 Invalid API key | A 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 login | echo $AIPRIME_CODEX_KEY; remova requires_openai_auth; reinicie o editor | 404 Model "..." is not supported by any configured account in this group | O modelo não pertence ao grupo da chave, por exemplo, um modelo Claude com uma chave GPT | Alterne o provedor ou o perfil para que a chave corresponda ao modelo | 426 WebSocket upgrade required | O transporte WebSocket está ativado, mas a conexão não foi atualizada | supports_websockets = false, e remova responses_websockets_v2 de [features] | 403 Your API key has expired | A chave foi criada com uma data de expiração | Crie uma nova chave no painel | 'none' is not supported | Esforço de raciocínio definido como none | Use low ou superior | 404 page not found | base_url contém /v1 duas vezes | Use exatamente https://aiprimetech.io/v1 | Erro de configuração referente a wire_api após uma atualização | A wire_api = "chat" linha de um guia antigo | Defina wire_api = "responses" | Your balance is used up | O saldo está zerado | [Adicionar créditos](/pt/topup/) | Concurrency limit exceeded for user | Vários agentes ou janelas do Codex em execução ao mesmo tempo | Execute 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](/pt/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](/register) 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. Guias de API do Codex e GPT: [Chave de API e acesso ao Codex](/pt/codex-api/) · [API compatível com OpenAI](/pt/openai-api/) · [Configuração da CLI do Codex](/pt/docs/guides/codex-cli/) · [Comparação de modelos GPT-6](/pt/blog/gpt-6-models-for-codex/) ## Mais guias da API do Claude [Como obter uma chave de API do Claude](/pt/learn/how-to-get-a-claude-api-key/)[Preços da API Claude explicados](/pt/learn/claude-api-pricing-explained/)[A maneira mais barata de usar a API do Claude](/pt/learn/cheapest-way-to-use-claude-api/)[Cursor ilimitado com a API do Claude](/learn/use-claude-api-with-cursor/)[Acesso ilimitado ao Claude Code](/pt/learn/use-claude-api-with-claude-code/)[Gateway da API do Claude vs. acesso direto à Anthropic](/pt/learn/claude-api-vs-anthropic-direct/)[Como usar Claude por meio de uma API compatível com OpenAI](/pt/learn/openai-compatible-claude-api/)[Modelos 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)](/pt/learn/claude-api-models-compared/)[Pagamento da API do Claude com criptomoedas](/pt/learn/claude-api-with-crypto-payment/)[Acesso à API do Claude sem lista de espera](/pt/learn/claude-api-without-waitlist/)[Como reduzir o uso de tokens do Claude](/pt/learn/how-to-reduce-claude-token-usage/)[Cline ilimitado com a API do Claude](/pt/learn/use-claude-api-with-cline/)[Roo Code ilimitado com a API do Claude](/pt/learn/use-claude-api-with-roo-code/)[Claude ilimitado nas IDEs da JetBrains](/pt/learn/use-claude-api-with-jetbrains/)[Aider ilimitado com a API do Claude](/pt/learn/use-claude-api-with-aider/)[Claude ilimitado no VS Code](/pt/learn/use-claude-api-with-vscode/)[Configuração do OpenCode para Claude: configuração do opencode.json, modelos e erros comuns](/pt/learn/use-claude-api-with-opencode/)[Como executar um agente Hermes ilimitado no Claude](/pt/learn/run-hermes-agent-with-claude-api/)[Executando OpenClaw ilimitado com Claude](/pt/learn/run-openclaw-with-claude-api/)[O que significa uma API compatível com a Anthropic](/pt/learn/anthropic-compatible-api/)[Chave de API do Claude Code — ANTHROPIC_API_KEY: como obtê-la, configurá-la e quando usar claude setup-token em seu lugar](/pt/learn/claude-code-api-key-setup/)[Custos da API do Claude Code — Preços e como reduzi-los](/pt/learn/claude-code-api-costs/)[Erros 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 um](/pt/learn/claude-api-errors-troubleshooting/)[Como 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"](/pt/learn/buy-claude-api-credits/)[API Claude gratuita: existe uma chave de API Claude gratuita e o que realmente é gratuito em 2026?](/pt/learn/claude-api-free-trial/)[API do Claude vs assinatura Claude Pro/Max — Qual escolher](/pt/learn/claude-api-vs-subscription/)[Conectando Claude ao n8n](/pt/learn/use-claude-api-with-n8n/)[Roteando LiteLLM para Claude](/pt/learn/use-claude-api-with-litellm/)[Usando Claude no Kilo Code](/pt/learn/use-claude-api-with-kilo-code/)[Integre Claude ao GitHub Copilot](/pt/learn/use-claude-api-with-github-copilot/)[Conecte o Zed ao Claude por meio do gateway](/pt/learn/use-claude-api-with-zed/)[Conecte o Cherry Studio ao Claude](/pt/learn/use-claude-api-with-cherry-studio/)[ChatAnthropic no LangChain: importação, base_url, streaming, ferramentas e erros](/pt/learn/use-claude-api-with-langchain/)[SDK de Python da Anthropic: instale, defina base_url, use streaming e trate erros](/pt/learn/anthropic-python-sdk/)[Claude com o Vercel AI SDK: baseURL de createAnthropic, streaming e correções](/pt/learn/use-claude-api-with-vercel-ai-sdk/)[Execute o Factory Droid com o Claude](/pt/learn/use-claude-api-with-factory-droid/)[A API do Claude Code, explicada](/pt/learn/claude-code-api/)[Como integrar a API do Claude à sua aplicação](/pt/learn/claude-api-integration/)[Como obter uso ilimitado do Claude — e por que não existe "Claude Code crackeado"](/pt/learn/get-unlimited-claude-usage/)