Codex "exceeded retry limit, last status: 429 Too Many Requests": o que é e como resolver
Voltar para o Blog
Artigocodextroubleshootingagente de programaçãodev toolsinteligência artificial

Codex "exceeded retry limit, last status: 429 Too Many Requests": o que é e como resolver

Mafra1 de novembro de 20264 min de leitura

O Codex trabalha, tenta de novo e de repente para com exceeded retry limit, last status: 429 Too Many Requests. Quando o painel ainda mostra cota sobrando, a reação natural é achar que o Codex quebrou. Não é bem isso, e a mensagem carrega uma pista que muita gente ignora.

O erro aparece em relatos recentes no repositório oficial openai/codex. A issue #57084, aberta em 26/10/2026, documenta falhas no Linux com VS Code e plano ChatGPT Pro, incluindo uma com 99% da cota semanal ainda disponível. Até 01/11/2026 a OpenAI não tinha publicado causa nem correção nessa issue.

O que significa "exceeded retry limit, last status: 429"?

Significa que o servidor respondeu HTTP 429 (muitas requisições) e o Codex esgotou as tentativas automáticas antes de desistir. No código do Codex, a mensagem é montada assim: exceeded retry limit, last status: <status>, com , request id: <id> no final quando o servidor devolve esse identificador.

O ponto que separa este erro de um limite de plano está em codex-rs/codex-api/src/api_bridge.rs. Ao receber 429, o Codex lê o corpo da resposta. Se o tipo do erro for usage_limit_reached, ele mostra a mensagem de cota ("You've hit your usage limit..."). Qualquer outro 429 vira o exceeded retry limit. Ou seja, esta mensagem não é o aviso de que sua cota acabou.

O que apareceO que significaO que fazer
You've hit your usage limitCota do plano esgotadaEsperar o reset ou comprar créditos
exceeded retry limit, last status: 429 Too Many Requests429 genérico, sem ser cota do planoPassos abaixo
Selected model is at capacity. Please try a different model.Modelo escolhido sem capacidade no momentoTrocar de modelo com /model
Fluxograma: erro exceeded retry limit com 429 no Codex, checar cota com /status, trocar modelo com /model, guardar o request id, e o ramo da mensagem hit your usage limit
Do erro ao diagnóstico: primeiro descubra se é cota do plano ou 429 genérico.

Como diagnosticar e contornar o erro?

Siga na ordem. Os três primeiros passos custam segundos e descartam as causas que você consegue resolver sozinho.

  1. Leia o texto exato. Se a mensagem for "You've hit your usage limit", o caso é cota do plano e vale a primeira linha da tabela. Se for exceeded retry limit, continue.
  2. Confira a cota com /status. O comando mostra a configuração da sessão e o uso de tokens. Se sobra bastante cota e o erro persiste, o problema não é o seu limite de plano.
  3. Troque de modelo com /model. O comando escolhe modelo e esforço de raciocínio. Os relatos da issue #57084 vêm todos do mesmo modelo (gpt-6.1-sol, esforço baixo), e o código tem um erro de capacidade por modelo. Rodar a mesma tarefa em outro modelo mostra se a rejeição é só daquele.
  4. Espere antes de tentar de novo. Na issue #57084, os avisos de nova tentativa de vários turnos convergiram para o mesmo horário, dentro de 0,7 segundo, com esperas de alguns minutos. Disparar o mesmo pedido em sequência só renova a espera.
  5. Atualize o Codex. A versão mais recente publicada na data desta pesquisa é a 0.166.0 (29/10/2026), conferida em gh release list -R openai/codex.
/status
/model

Dá para aumentar o número de tentativas automáticas?

Só em provedor configurado por você. No código, request_max_retries (padrão 4) e stream_max_retries (padrão 5) são campos da entrada de um provedor de modelo, com teto de 100 cada. Exemplo para um provedor próprio no ~/.codex/config.toml:

[model_providers.meu-gateway]
name = "Meu gateway"
base_url = "https://gateway.exemplo.com/v1"
request_max_retries = 8
stream_max_retries = 10

Duas ressalvas honestas. Não testei se esses campos valem para o provedor padrão da OpenAI, então não prometo que resolvem no seu caso. E mais tentativas não mudam a decisão do servidor: se a rejeição é por capacidade ou janela curta de uso, você só espera mais antes de ver o mesmo erro.

O que guardar se o erro continuar?

Copie o request id que vem no fim da mensagem, quando ele aparece, junto com o horário em UTC, o modelo, o esforço de raciocínio, a versão do Codex e o resultado do /status. O autor da issue #57084 aponta que a falta de Retry-After e de identificador da requisição nos logs é o que impede a análise, e pede exatamente esses dados. Anexe na issue, sem token, caminho de projeto nem prompt.

Se o limite do provedor é o que trava o seu dia, a Verboo Code entrega tokens ilimitados no plano, então a próxima tentativa não depende de janela de cota.

Gostou deste artigo?
Compartilhe conhecimento com sua rede.
// Leia também

Artigos relacionados