Índice
Você já travou de repente com este erro no Claude Code ou na API?
Prompt is too long
# On the API, more specifically:
prompt is too long: 233153 tokens > 200000 maximum
"The prompt is too long" (o prompt é longo demais) — ou seja, a entrada que você está tentando enviar (histórico da conversa + arquivos anexados + definições de ferramentas, etc.) excede a janela de contexto do modelo (o limite de entrada). Na API ele ainda te informa "quantos tokens, contra qual máximo" como em 233153 tokens > 200000 maximum. Isso é diferente de um usage limit — você não esgotou sua cota; uma única entrada é simplesmente grande demais fisicamente.
Três pontos antes de tudo. (1) A causa é "a entrada não cabe na janela". Não é o corte de saída do max_tokens, nem a cota do usage limit. (2) O Claude Code normalmente evita isso automaticamente via auto-compact (autorresumo), então quando você vê esse erro, ou você "ultrapassou a janela de uma só vez" ou desativou o auto-compact. (3) As soluções mais rápidas são /compact para resumir o histórico, /clear para começar do zero e delegar leituras enormes a um subagent. Este artigo cobre o que preenche a janela, os tamanhos da janela (200K e 1M), como resolver e como distinguir de erros confundíveis — com base em informações oficiais.
Até a "janela" encher
— o que preenche o contexto, e quando ele transborda
empilham até 100%, e então...
too long
Normalmente o auto-compact
resume antes de transbordar
Isto significa que a "janela de entrada" está cheia — não é um usage limit (cota), nem um corte de saída (max_tokens).
As proporções da pilha são ilustrativas. Confira a divisão real com /context.
1. O que este erro está te dizendo
Os modelos de IA têm um limite de entrada chamado "janela de contexto" (context window). É "a quantidade máxima de informação que pode ser lida em uma única troca", contada em tokens (grosso modo, fragmentos de palavras). Prompt is too long significa que o total de tokens da entrada que você tentou enviar excede essa janela. Na API ele até imprime os números: 233153 tokens > 200000 maximum (você enviou 233.153 tokens; o limite é 200.000).
O ponto-chave é que isto diz respeito ao lado da entrada. A janela de contexto soma histórico da conversa, arquivos anexados/lidos, resultados de execução de ferramentas, o system prompt e as definições de ferramentas MCP. Mantenha uma conversa longa, leia um arquivo gigante inteiro ou acumule muita saída de ferramentas, e a janela enche aos poucos e transborda em algum momento. Para o conceito em si, veja O que é uma janela de contexto.
Observe que o Claude Code normalmente tem o auto-compact (autorresumo) ligado por padrão, que resume automaticamente o histórico para liberar espaço à medida que a janela se aproxima do limite. Por isso, normalmente você nunca vê este erro. Se ele ainda aparecer, geralmente é porque (1) uma única entrada ultrapassou a janela de uma só vez (por exemplo, colando um arquivo gigante), ou (2) você desativou o auto-compact (DISABLE_AUTO_COMPACT).
2. O que preenche a janela de contexto
"Transborda mais rápido do que o esperado" porque elementos invisíveis também consomem a janela. Aqui está a divisão principal segundo a documentação oficial do Claude Code.
| O que preenche a janela | Conteúdo | Como aliviar |
|---|---|---|
| Histórico da conversa | Cada turno de usuário/assistente. O maior fator — ele cresce sem parar até ser limpo | /compact para resumir, /clear para reiniciar |
| Arquivos que você lê | Todo arquivo que você lê (Read) entra na janela. Ler um arquivo gigante inteiro é pesado | Leia por faixas de linhas; delegue grandes leituras a um subagent |
| Resultados de ferramentas | Saída de comandos, resultados de busca, etc. também se acumulam | Evite saída enorme desnecessária; faça compact com frequência |
| Definições de ferramentas MCP | Defs de ferramentas dos servidores MCP conectados. Quanto mais servidores, mais consomem desde o início | Desative MCP não usado com /mcp |
| CLAUDE.md / memória | Instruções de projeto/globais, automemória. Sempre carregadas | Evite inchaço; verifique com /doctor |
| System prompt | Instruções centrais de comportamento. Sempre presente, fixo, intocável | (Não dá para reduzir. Reduza o resto) |
O ponto: "histórico da conversa, leituras de arquivos, resultados de ferramentas" são fatores dinâmicos que crescem, enquanto "defs de MCP, CLAUDE.md, system prompt" são fatores fixos presentes desde o início. O truque é que um subagent tem sua PRÓPRIA janela — delegue uma leitura de arquivo gigante ou uma investigação a um subagent e o resultado dele (os dados brutos pesados) nunca entra na sua janela principal. Veja exatamente o que está consumindo a janela com /context. Para a disciplina de projetar o contexto deliberadamente, veja engenharia de contexto.
3. Tamanhos da janela — 200K e 1M
"Qual é o máximo" depende do modelo. Aqui está o panorama geral de 2026 (valores específicos podem ser revisados, então confirme na lista oficial mais recente).
A janela pode diferir em 5x
[1m].[1m] pode exigir créditos de uso. (2) Modelos mais novos usam um tokenizador alterado que consome cerca de 30-35% mais tokens para o mesmo texto (então mesmo 1M comporta menos do que parece). Antes de ampliar a janela, o movimento básico é não a entulhar.Tamanhos de janela, suporte a 1M e preços são revisados ao longo do tempo. Não memorize valores fixos — confirme na lista oficial de modelos mais recente.
É tentador pensar que "mudar para um modelo 1M resolve tudo", mas uma janela maior é uma fuga, nem sempre uma solução. Amplie a janela mantendo uma conversa entulhada, leituras inteiras de arquivos desperdiçadas e MCP não usado, e você só aumenta o custo e deixa as respostas mais lentas. A abordagem habilidosa é primeiro arrumar a janela (compact, clear, subagents) e usar 1M apenas para as tarefas genuinamente grandes que ainda precisarem disso.
4. Como resolver agora
Medidas para o momento em que o erro aparece, em ordem de prioridade. Escolha pela situação (histórico inflou / você inseriu um arquivo gigante).
Como liberar a janela
/compact focus on the auth bug. Preserva o contexto enquanto enxuga./context para ver a divisão e então desative MCP não usado e enxugue o CLAUDE.md. O /doctor sinaliza inchaço./model para um modelo de contexto 1M. Mas faça a arrumação (1-4) primeiro. Não desative o auto-compact (mantenha-o ligado por padrão).Por padrão, 1) /compact e depois 2) /clear. Se o transbordamento for principalmente uma "leitura grande", use 3). Se for crônico, reduza a carga fixa com 4).
Nota: o próprio /compact pode falhar com "Conversation too long. Press esc twice..." — isso significa que a janela já está tão cheia que não há espaço nem para inserir um resumo. Nesse caso, pressione Esc duas vezes para subir algumas mensagens, ou /clear para reiniciar. Para economia sistemática de tokens, veja economia de tokens no Claude Code.
5. Distinguindo três erros confundíveis
A família "longo demais / travado" tem vários membros, e as soluções podem ser opostas. Distinga estes três (+ um) para não os confundir.
| Sintoma | O que realmente é | Solução principal |
|---|---|---|
| Prompt is too long / N tokens > M maximum | O tema deste artigo. A entrada excedeu a janela de contexto | /compact, /clear, delegar grandes leituras a um subagent, modelo 1M |
| Resposta cortada (stop_reason: max_tokens) | A saída foi truncada no max_tokens que você definiu na requisição (não é problema de janela) | Aumentar max_tokens / pedir para continuar |
| usage limit reached | A cota de uso do seu plano foi consumida (sem relação com a janela de tokens) | Aguardar o reset; soluções de usage limit |
| Usage credits required for 1M context | Uma questão de direito de acesso. Você escolheu um modelo [1m] não incluído no seu plano (não é transbordamento, não é cota) | Habilitar créditos, ou /model para uma janela padrão |
O eixo: se você vir números como "N tokens > M maximum", é transbordamento de entrada = este artigo. Uma resposta truncada de forma limpa é o limite de saída (max_tokens). "reset at [hora]" é um usage limit. "credits required for 1M" é uma questão de direito de acesso (plano). Para outros erros comuns do Claude Code, veja a coletânea de erros.
6. Checklist de prevenção
Hábitos para evitar que a janela transborde.
(1) Mantenha o auto-compact ligado por padrão (não o desative com DISABLE_AUTO_COMPACT). (2) /clear nas fronteiras entre tarefas; /compact com frequência no meio da conversa. (3) Leia arquivos gigantes por faixa de linhas ou via um subagent; não os cole inteiros. (4) Desative MCP não usado e não deixe o CLAUDE.md inchar (verifique com /doctor). (5) Confira a divisão com /context antes de trabalhos pesados. (6) Use um modelo 1M apenas para tarefas genuinamente grandes; rode na janela padrão + arrumação no resto do tempo.
Resumo
O "Prompt is too long" do Claude Code / API significa que a entrada (histórico da conversa + arquivos + definições de ferramentas, etc.) excedeu a janela de contexto do modelo. Na API ele até mostra o limite como N tokens > M maximum. Não é nem um usage limit (cota) nem um corte de saída (max_tokens) — é "a entrada é grande demais fisicamente." O Claude Code normalmente evita isso via auto-compact, então quando ele aparece, ou você ultrapassou a janela de uma só vez ou desativou o auto-compact.
A janela é preenchida por histórico da conversa, leituras de arquivos, resultados de ferramentas (dinâmicos) + defs de MCP, CLAUDE.md, system prompt (fixos). As soluções mais rápidas são (1) /compact -> (2) /clear -> (3) delegar grandes leituras a um subagent -> (4) reduzir a carga fixa com /context -> (5) um modelo 1M só se realmente necessário. Os tamanhos de janela são padrão 200K e 1M; 1M está com preço padrão em 2026, mas note que assinaturas podem exigir créditos e o novo tokenizador consome mais. A regra básica: antes de ampliar a janela, pare de entulhá-la. Relacionados: O que é uma janela de contexto, engenharia de contexto, soluções de usage limit.
FAQ
Q. "Prompt is too long" e "usage limit reached" são a mesma coisa?
A. Completamente diferentes. "Prompt is too long" significa que uma única entrada excedeu a janela de contexto (o limite de tokens). "usage limit reached" significa que você consumiu a cota de uso do seu plano — sem relação com a janela de tokens. O primeiro se resolve instantaneamente liberando a janela com /compact ou /clear; o segundo exige aguardar um reset ou uma ação no plano.
Q. Nunca aparece normalmente, e de repente surgiu. Por quê?
A. O Claude Code tem o auto-compact ligado por padrão, que resume o histórico automaticamente para evitar isso à medida que a janela se aproxima do limite. Se ele ainda aparecer, geralmente é porque (1) você inseriu um arquivo gigante ou uma enorme quantidade de dados de uma só vez e ultrapassou a janela, ou (2) você desativou o auto-compact com DISABLE_AUTO_COMPACT. Resolva o primeiro dividindo / lendo por faixas de linhas / usando um subagent, e o segundo reativando o auto-compact.
Q. Rodei /compact e recebi "Conversation too long" — não consegue nem resumir.
A. A janela já está tão cheia que não há espaço nem para inserir um resumo. Pressione Esc duas vezes para subir algumas mensagens e tente de novo, ou /clear para reiniciar a conversa. A partir daí, faça /compact antes de encher e delegue grandes leituras a um subagent para evitar a recorrência.
Q. Mudar para um modelo de contexto 1M vai resolver?
A. Ajuda em tarefas grandes, mas não é solução milagrosa. Ampliar a janela mantendo um histórico entulhado, leituras inteiras de arquivos desperdiçadas e MCP não usado só aumenta o custo e deixa as respostas mais lentas. Além disso, modelos mais novos usam um tokenizador alterado que usa cerca de 30-35% mais tokens para o mesmo texto, então comporta menos do que parece. A jogada inteligente é arrumar primeiro (compact/clear/subagent) e usar 1M só quando realmente necessário. Note que assinaturas podem exigir créditos para [1m].
Q. Quero saber o que está consumindo a janela.
A. O /context do Claude Code mostra a divisão — system prompt, CLAUDE.md, definições de ferramentas MCP, histórico da conversa, arquivos que você lê, etc. Na maioria dos casos, o histórico da conversa em crescimento constante e as grandes leituras de arquivos são os principais culpados. O /doctor também sinaliza um CLAUDE.md inchado ou definições de subagent. Se a carga fixa (defs de MCP, CLAUDE.md) for grande, reduzir isso é eficaz.