O Problema: Quando o Modelo Decide Não Pensar
O Adaptive Thinking funciona assim: antes de cada resposta, o modelo avalia a complexidade percebida da sua requisição e aloca tokens de raciocínio proporcionalmente. Tarefa simples? Poucos tokens. Tarefa complexa? Mais tokens.
O problema é que essa avaliação falha com frequência preocupante. Boris Cherny, do time do Claude Code na Anthropic, confirmou publicamente no Hacker News que em certos turnos o modo adaptativo alocava zero tokens de raciocínio — o modelo literalmente decidia não pensar antes de responder.
O resultado era previsível: fabricações confiantes. SHAs de commits que não existiam, versões de API inventadas, pacotes que nunca foram publicados — tudo entregue com a mesma assertividade de uma resposta correta. E o padrão era claro: os turnos com raciocínio profundo acertavam; os turnos com zero raciocínio fabricavam.
Esse cenário piorou em março de 2026, quando o nível de esforço padrão caiu de high para medium. Com menos esforço e raciocínio adaptativo, o modelo passou a economizar em duas frentes ao mesmo tempo — e a qualidade despencou para quem trabalhava em projetos complexos.
A Solução: Forçar um Orçamento Fixo de Raciocínio
Quando você define CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1, o Claude Code para de deixar o modelo escolher quanto pensar. Em vez disso, ele utiliza um orçamento fixo de tokens de raciocínio em todos os turnos, controlado pela variável MAX_THINKING_TOKENS.
Na prática, isso significa que mesmo quando o modelo acha que a tarefa é simples, ele ainda é obrigado a pensar antes de responder. Aquele bug "trivial" que na verdade envolve uma race condition em três microsserviços? O modelo vai analisar em vez de chutar.
Mas a flag sozinha resolve apenas metade do problema. Para máximo impacto, combine-a com o nível de esforço:
export CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1
export CLAUDE_CODE_EFFORT_LEVEL=high
Com essas duas configurações ativas, o Claude Code mantém o nível máximo de raciocínio em todos os turnos, sem nunca decidir autonomamente "economizar" tokens. O modelo pensa com profundidade constante, indiscriminadamente.
O Que Muda na Prática
A diferença é perceptível já nas primeiras interações:
Debugging complexo. Em vez de sugerir "tente adicionar um print aqui", o modelo analisa o fluxo inteiro, identifica dependências entre módulos e aponta a causa raiz — mesmo quando ela está a três camadas de abstração do sintoma.
Refatoração multi-arquivo. O modelo mantém o contexto entre arquivos e propõe mudanças coerentes em vez de editar cada arquivo isoladamente, introduzindo inconsistências.
Decisões de arquitetura. Ao perguntar "qual padrão usar aqui?", o modelo pondera trade-offs reais em vez de entregar a resposta genérica mais provável.
Menos alucinações. Sem a possibilidade de pular o raciocínio, o modelo verifica nomes de pacotes, versões de API e identificadores antes de afirmá-los — reduzindo drasticamente as fabricações que corroem a confiança.
Configuração Completa
Linux e macOS (Bash/Zsh)
Para aplicar apenas à execução atual:
CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1 CLAUDE_CODE_EFFORT_LEVEL=high claude
Para tornar persistente, adicione ao seu ~/.bashrc ou ~/.zshrc:
export CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1
export CLAUDE_CODE_EFFORT_LEVEL=high
Windows (PowerShell)
Para a sessão atual:
$env:CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING = "1"
$env:CLAUDE_CODE_EFFORT_LEVEL = "high"
claude
Para tornar persistente, adicione ao seu perfil ($PROFILE):
$env:CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING = "1"
$env:CLAUDE_CODE_EFFORT_LEVEL = "high"
Via settings.json do Claude Code
Se preferir manter a configuração dentro do ecossistema do Claude Code:
{
"env": {
"CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING": "1"
}
}
O nível de esforço também pode ser definido com o comando /effort high dentro da sessão ou configurado no mesmo arquivo de settings.
Quando Usar (e Quando Não Usar)
Essa configuração consome mais tokens em todas as respostas — é o preço da profundidade. Por isso vale calibrar por tipo de tarefa:
Use DISABLE_ADAPTIVE_THINKING=1 + effort high/max quando:
- Estiver debugando bugs complexos em codebases grandes
- Fizer refatoração ou migração multi-arquivo
- Precisar de decisões arquiteturais fundamentadas
- Trabalhar com APIs desconhecidas ou pouco documentadas
- Orquestrar múltiplos agentes em tarefas críticas
Mantenha o adaptive thinking ativado quando:
- Fizer tarefas simples: commits, leitura de código, perguntas rápidas
- Usar sub-agentes para operações triviais
- A latência for mais importante que a profundidade
Uma abordagem prática é criar um alias no seu shell:
alias claude-deep="CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1 CLAUDE_CODE_EFFORT_LEVEL=max claude"
Assim você mantém o claude padrão para tarefas leves e invoca claude-deep quando precisa de raciocínio máximo.
Conclusão
O Claude Code com Opus 4.6 é extraordinariamente capaz — mas sua configuração padrão prioriza eficiência sobre profundidade. Para quem trabalha em projetos complexos, isso significa conviver com respostas rasas e fabricações evitáveis.
CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1 não é um hack obscuro. É um workaround reconhecido oficialmente pela equipe do Claude Code enquanto investigam a subalocação de raciocínio no modo adaptativo. Combinada com effort=high, essa configuração transforma o Claude Code de um assistente apressado em um engenheiro que pensa antes de falar.
O controle está nas suas mãos. Use-o.
Tags: claude-code · anthropic · cli · produtividade · extended-thinking
Top comments (0)