"Claude's response exceeded the 32000 output token maximum": o que fazer quando o env var não resolve
Voltar para o Blog
Artigoclaude codetroubleshootingdev toolsagente de programação

"Claude's response exceeded the 32000 output token maximum": o que fazer quando o env var não resolve

Mafra14 de novembro de 20265 min de leitura

Você pediu uma refatoração grande. O agente gerou por vários minutos, o terminal ficou preenchendo, e a resposta parou com esta linha:

API Error: Claude's response exceeded the 32000 output token maximum. To configure this
behavior, set the CLAUDE_CODE_MAX_OUTPUT_TOKENS environment variable.

O número assusta porque parece um limite do modelo. Na maioria dos casos não é. 32000 é o teto que o CLI colocou naquela requisição, e ele costuma ser bem menor que a capacidade do modelo. Enquanto você procura o "limite certo" para aumentar, o custo da tentativa continua correndo.

Fluxograma: a resposta para no teto de max_tokens, o número na mensagem é o teto da requisição e o env var sobe até o limite do modelo
O caminho do erro: o corte acontece no teto da requisição, não no limite do modelo.

O que significa "exceeded the 32000 output token maximum"?

Significa que o modelo parou porque a resposta atingiu o teto de tokens de saída da requisição. O motivo técnico é stop_reason: max_tokens. Não é falta de permissão, não é queda de rede e não é a conta bloqueada. A chamada chegou ao modelo, o modelo respondeu, e o servidor cortou a resposta no teto combinado.

O número que aparece na mensagem é o teto efetivo daquela chamada. Pode ser 32000, pode ser 64000. É por isso que duas pessoas com a mesma versão do Claude Code veem números diferentes na mesma frase.

Por que 32000 se o modelo suporta 128K?

Porque o Claude Code pede menos do que o modelo entrega por padrão. A documentação oficial é explícita: para um modelo que o CLI não consegue identificar, o padrão é 32000 e o teto é 128000. Modelos reconhecidos têm default e teto próprios, que variam de acordo com o modelo.

A tabela de modelos da Anthropic, consultada em 14/11/2026, mostra a saída máxima do lado do modelo:

ModeloJanela de contextoSaída máxima
Claude Opus 5.5, Sonnet 5.5, Haiku 5.51M tokens128K tokens
Claude Opus 4.6, Sonnet 4.61M tokens128K tokens
Claude Opus 4.5, Sonnet 4.5, Haiku 4.5200K tokens64K tokens

Ou seja: o modelo aceita 128 mil tokens de saída e a requisição pode estar pedindo 32 mil. A distância entre os dois é o que produz o erro.

O caso mais comum de 32000 é o modelo "não reconhecido". Isso acontece com um ID personalizado, um apelido criado no gateway, um deployment com outro nome, ou uma URL base própria. O modelo pode ser perfeitamente conhecido por você. Se o CLI não mapear aquele ID para um modelo que ele conhece, ele usa o default.

Como subir o teto com CLAUDE_CODE_MAX_OUTPUT_TOKENS?

Exporte a variável antes de abrir a sessão:

export CLAUDE_CODE_MAX_OUTPUT_TOKENS=64000
claude

Para valer em todo terminal, coloque no ~/.claude/settings.json:

{
  "env": {
    "CLAUDE_CODE_MAX_OUTPUT_TOKENS": "64000"
  }
}

Sessões já abertas não leem a mudança. Abra uma nova depois de exportar. E o valor não é soberano: a documentação diz que o Claude Code reduz um valor acima do teto do modelo para o teto. Se o modelo entrega 64K, pedir 128K não vira 128K.

Para conferir o que o CLI está enxergando, o claude doctor valida variáveis de ambiente fora do padrão. Na Verboo Code, o equivalente é verboo doctor.

Por que subir o env var não mudou nada?

Na maioria dos relatos, uma destas três coisas aconteceu:

O que passouComo confirmarO que fazer
A variável foi exportada no shell errado, ou a sessão já estava abertaRode echo $CLAUDE_CODE_MAX_OUTPUT_TOKENS no mesmo terminal onde você abre o Claude CodeExporte de novo e abra uma sessão nova
O valor passou do teto do modeloCompare o número com a tabela de saída máxima acimaUse um valor dentro do teto, ou um modelo com teto maior
O teto não é o gargalo: o agente tenta entregar um arquivo inteiro num turnoA resposta corta de novo, mesmo com o teto maiorDivida o trabalho em blocos e faça commit entre eles

Existe ainda um sintoma que confunde. Depois do erro, o agente continua "pensando". O CLI tenta retomar o trabalho de onde parou, com um empurrão para continuar, e repete isso algumas vezes. Se a tarefa é grande demais, cada retomada bate no mesmo teto e consome mais tokens. A sessão não morreu. O orçamento, sim.

Como dividir a tarefa para não bater no teto de novo?

Este pedido funciona como instrução permanente no projeto ou como primeira mensagem da tarefa:

Não escreva arquivos inteiros em um único turno. Trabalhe em blocos de até 200 linhas,
rode o teste depois de cada bloco e faça commit antes de seguir. Se o próximo bloco
passar disso, pare e me mostre o plano em vez de continuar.

Três hábitos reduzem o problema sem tocar em limite:

  1. Peça o plano primeiro e aprove por partes, antes de liberar a escrita.
  2. Um arquivo por turno, com teste depois de cada um.
  3. Commit antes de pedir a próxima parte. Se cortar, você não perde o que já passou.

Quando trocar de motor em vez de insistir no limite?

Se o erro é recorrente porque o seu gateway usa IDs que o CLI não reconhece, aumentar variável é remendo. Na Verboo Code os modelos da plataforma são reconhecidos pelo próprio CLI, então o limite de saída vem da configuração do modelo, não de um default de 32 mil por ID desconhecido. Dá para trocar de motor com /model e ver o consumo da sessão com /cost.

Se o problema é o modelo cair no default por não ser reconhecido, a Verboo Code troca a causa: o limite acompanha o motor escolhido. Rode o mesmo prompt e compare o que chega no fim.

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

Artigos relacionados