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.
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:
| Modelo | Janela de contexto | Saída máxima |
|---|---|---|
| Claude Opus 5.5, Sonnet 5.5, Haiku 5.5 | 1M tokens | 128K tokens |
| Claude Opus 4.6, Sonnet 4.6 | 1M tokens | 128K tokens |
| Claude Opus 4.5, Sonnet 4.5, Haiku 4.5 | 200K tokens | 64K 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 passou | Como confirmar | O que fazer |
|---|---|---|
| A variável foi exportada no shell errado, ou a sessão já estava aberta | Rode echo $CLAUDE_CODE_MAX_OUTPUT_TOKENS no mesmo terminal onde você abre o Claude Code | Exporte de novo e abra uma sessão nova |
| O valor passou do teto do modelo | Compare o número com a tabela de saída máxima acima | Use 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 turno | A resposta corta de novo, mesmo com o teto maior | Divida 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:
- Peça o plano primeiro e aprove por partes, antes de liberar a escrita.
- Um arquivo por turno, com teste depois de cada um.
- 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.



