Índice
O erro Prompt is too long do Claude Code significa que a entrada enviada ultrapassa o limite da janela de contexto. Na interface interativa, a forma básica é uma linha que começa com Context limit reached; a forma longa, que traz a causa, continua aparecendo como Prompt is too long ·. A segunda metade da mensagem muda conforme a situação, e é ali que está o próximo passo. Compare o texto da sua tela com a lista abaixo.
# Interface interativa (normal)
Context limit reached · /compact or /clear to continue
# Interface interativa (com a compactação automática desativada)
Context limit reached · /compact or /clear to continue · auto-compact is off · /config to turn it on
# Interface interativa (com a compactação totalmente desativada via DISABLE_COMPACT)
Context limit reached · /clear to continue
# Saída de -p e registro da conversa
Prompt is too long
# Quando a compactação automática falha por outro erro
Prompt is too long · automatic compaction failed: <the underlying error>
# Conversa de uma única troca, sem histórico para resumir
Prompt is too long · this conversation is a single exchange and cannot be compacted — …
Prompt is too long · the request is ~<N> tokens (limit <limit>) … A single-exchange conversation cannot be compacted; …
# Via Amazon Bedrock
Input is too long for requested model.
# Quando o próprio /compact falha (seção 4)
Error during compaction: Conversation too long. Press esc twice to go up a few messages and try again.
# Corpo da resposta da API (números de exemplo)
prompt is too long: 209117 tokens > 200000 maximum
Como retomar o trabalho agora →
A entrada inclui mais do que o texto que você acabou de digitar: histórico, arquivos lidos, resultados de ferramentas e instruções também podem contribuir. No corpo da resposta da API, 209117 tokens > 200000 maximum significa que a entrada de 209.117 tokens ultrapassou o limite de 200.000. A janela de contexto abrange tanto a entrada quanto a saída gerada nesta resposta; esse erro significa que só a entrada já ultrapassa o limite. A recuperação difere de um usage limit atingido ao esgotar a cota do plano durante um período.
Use /compact para um histórico longo, reduza a entrada se a primeira mensagem for grande demais e resolva primeiro qualquer causa informada de falha na compactação. Esses são os caminhos básicos de recuperação. A compactação automática fica ativada por padrão e normalmente evita esse erro; quando ele aparece mesmo assim, esses três casos são os pontos de decisão. Com base na documentação oficial de erros do Claude Code e nas especificações da API em 21 de setembro de 2026, este artigo explica causas, recuperação e condições de 200K e 1M. O uso direto da API é tratado separadamente.
O mesmo erro de tamanho pode exigir reduções diferentes
Durante uma conversa longa
Resuma o histórico anterior. Se a janela encher novamente logo após a compactação, divida as leituras grandes.
Entrada inicial já grande demais
Não há conversa anterior para resumir. Comece reduzindo textos colados, anexos, instruções e a carga das ferramentas.
A própria compactação falha
Resolva primeiro a causa informada, como falha de autenticação ou modelo indisponível. Só repetir a compactação não a corrige.
Use /context para o detalhamento da janela e /usage para o consumo durante um período ou as cotas do plano. Ambos envolvem tokens, mas medem coisas diferentes.
1. O que esse erro significa
A janela de contexto limita a quantidade de informação que um modelo pode consultar e gerar em uma resposta. É medida em tokens, não em caracteres, e inclui entrada, saída desta resposta e tokens de raciocínio. A entrada lida do cache da API continua ocupando a janela. O cache muda o preço ou o processamento; não faz essa entrada ocupar espaço zero. Consulte a especificação de janelas de contexto da Anthropic.
Dentro desse limite, Prompt is too long ocorre quando a entrada enviada já não cabe sozinha na janela. Mesmo uma pergunta curta pode fazer parte de uma requisição grande se vier acompanhada de histórico ou arquivos. Por isso, encurtar apenas a última pergunta pode não ajudar. Para os fundamentos, veja O que é uma janela de contexto?
Ao se aproximar do limite, o Claude Code remove saídas antigas de ferramentas e resume a conversa quando necessário. Se ainda assim ele parar, a causa é um texto enorme colado, a compactação automática desativada ou uma falha da própria compactação. Reler o mesmo arquivo enorme logo após resumir também pode encher a janela novamente. Qual é o caso aparece na segunda metade da mensagem mostrada no início. Com automatic compaction failed:, a causa da falha da compactação vem em seguida; com single exchange, não há histórico para resumir; com auto-compact is off, a compactação automática está desativada.
2. O que ocupa a janela de contexto?
O detalhamento abaixo segue a explicação do funcionamento do Claude Code. O registro salvo da conversa não é idêntico ao que está sendo enviado ao modelo. Remover resultados antigos de ferramentas ou resumir altera o conteúdo da janela ativa.
| Componente | O que entra na janela | O que revisar |
|---|---|---|
| Histórico da conversa | Trocas enviadas na requisição atual. A compactação substitui algumas partes por um resumo | /compact para a mesma tarefa; /clear para outra tarefa sem relação |
| Arquivos e resultados de ferramentas | Conteúdo de arquivos lidos, resultados de busca, saída de comandos e materiais semelhantes | Restrinja buscas, leia apenas linhas relevantes ou delegue a pesquisa detalhada a um subagente |
| MCP | Nomes de ferramentas e instruções dos servidores. Por padrão, Tool Search carrega definições detalhadas quando necessário | Confira a carga real com /context e desative servidores não usados por /mcp |
| CLAUDE.md e memória | Instruções aplicáveis e memória carregada. Nem todo arquivo de memória automática está sempre presente | Mantenha regras permanentes curtas e separe explicações necessárias apenas a tarefas específicas |
| Skills | Normalmente, descrições no início e corpos quando usadas. Configurações também podem adiar as descrições | Revise candidatas desnecessárias à invocação automática e corpos de skills longos demais |
| Instruções do sistema | Instruções operacionais fornecidas pelo Claude Code ou pelo ambiente de conexão | Comece por instruções, anexos e ferramentas que você controla |
Por padrão, as definições de ferramentas MCP são carregadas por Tool Search no momento em que se tornam necessárias. No início da sessão entram apenas os nomes das ferramentas e as descrições dos servidores, então acrescentar servidores tem pouco impacto na janela. As definições entram desde o início quando, por exemplo, ENABLE_TOOL_SEARCH=false está configurado, um servidor tem alwaysLoad ou CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS está configurado, entre outros casos. Com ANTHROPIC_BASE_URL roteando por um gateway, a partir da v2.1.304 o Tool Search já fica ativo por padrão (todas as condições na tabela oficial de configuração de Tool Search). Avalie a carga real com /context, não pelo número de servidores.
Subagentes investigam em uma janela separada e podem devolver resultados sem trazer toda a saída intermediária de ferramentas para a conversa principal. Porém, o resumo ou as conclusões devolvidas ainda ocupam a janela principal. Pedir que reproduzam toda a investigação reduz o benefício. Especifique a saída necessária, por exemplo: «Retorne apenas arquivos e linhas relevantes, conclusões e perguntas não resolvidas». Além disso, os subagentes herdam todas as definições de ferramentas MCP da sessão principal; por isso, a documentação oficial de erros recomenda desativar os servidores MCP que não estiver usando antes de iniciar subagentes. Os princípios de projeto estão em engenharia de contexto.
Use /context para a ocupação da janela atual e /usage para o consumo de tokens e o uso do plano. O custo exibido por este último é uma estimativa, não uma fatura final. Em ambientes compatíveis, /skill-doctor também pode examinar a carga das skills. Se não o encontrar, comece com /context. Consulte as etapas de medição em O que está usando seu contexto? e as condições de disponibilidade na lista oficial de comandos.
3. Tamanhos de contexto: 200K e 1M
200K significa 200 mil tokens; 1M, um milhão. Porém, a capacidade do modelo, a capacidade que o Claude Code usa na sua conexão, o limiar da compactação automática e as condições de preço são números diferentes. Veja o modelo e a conta atuais com /status e as opções disponíveis com /model.
Separe capacidade e condições de uso
Modelos como Sonnet 4.5. O Claude Code também pode tratar um modelo compatível com 1M como 200K devido à conexão ou a uma configuração que desative 1M.
Na API da Anthropic, exemplos incluem a família Fable, Sonnet 5 ou posterior e Opus 4.7 ou posterior. Alguns usam 1M por padrão; nem sempre é preciso acrescentar [1m].
Fonte: configuração de modelos e contexto estendido da Anthropic. O ponto em que começa a compactação automática varia conforme configurações e modelo.
Nas assinaturas, os créditos de uso só entram em jogo com o Opus 4.6 e o Sonnet 4.6, que chegam a 1M pela variante [1m]. O Opus 4.6 com 1M está incluído em Max, Team e Enterprise, mas no Pro exige créditos de uso; o Sonnet 4.6 com 1M exige créditos de uso em todas as assinaturas. A família Fable, o Sonnet 5 ou posterior (incluindo o Sonnet 5.5 atual) e o Opus 4.7 ou posterior conectados diretamente à API da Anthropic são tratados de outra forma: 1M é o padrão em todos os planos, inclusive no Pro, sem créditos de uso adicionais nem seleção de [1m]. Gateways e configurações que desativam 1M trazem exceções; não decida só pelo nome do modelo.
«Preço padrão» para 1M significa que ultrapassar 200K não adiciona um prêmio por token devido ao contexto longo. Não significa entrada adicional ilimitada pelo mesmo preço total. Processar mais tokens aumenta o consumo. Se 1M está incluído no plano ou é cobrado por créditos é outra questão separada.
A relação entre caracteres e tokens também varia por modelo e conteúdo. Em vez de presumir que todo modelo mais novo acrescenta uma porcentagem fixa, use a contagem de tokens do modelo de destino ao trabalhar com a API. Algumas tarefas precisam de uma janela maior, mas remover antes logs irrelevantes e instruções duplicadas facilita avaliar a capacidade necessária.
4. Como retomar o trabalho agora
Escolha a recuperação conforme o ocorrido: um histórico crescente ou um arquivo grande acrescentado à entrada. As opções abaixo estão em ordem de prioridade.
Etapas para liberar espaço na janela
/compact Foque no erro de autenticação. Isso reduz a carga preservando o contexto./context; depois, desative servidores MCP desnecessários e encurte CLAUDE.md. Separe procedimentos detalhados para que sejam lidos apenas quando necessários./model para selecionar um modelo com contexto 1M. Faça primeiro a limpeza das etapas 1–4. Não desative a compactação automática; mantenha-a ativada por padrão.Use 1 para um histórico longo e 2 para uma nova tarefa sem relação. Para entrada inicial grande demais, use 3 e 4. Se uma causa da falha de compactação for informada, corrija-a primeiro.
Se /compact falhar com Error during compaction: Conversation too long, não há espaço suficiente para o resumo gerado. Com a caixa de entrada vazia, pressione Esc duas vezes (ou use /rewind) para abrir o menu de retrocesso e escolha uma mensagem anterior à entrada grande para retroceder a conversa. Para voltar só a conversa e manter o código como está, escolha Restore conversation. Depois, compacte novamente; se ainda não liberar espaço suficiente, use /clear e recomece com uma entrada menor. A conversa anterior fica salva e pode ser reaberta com /resume. As opções do menu estão na explicação oficial do retrocesso.
Se automatic compaction failed: vier seguido de falha de autenticação ou modelo indisponível, resolva essa causa antes de tentar liberar a janela. Até corrigi-la, /compact também falha com o mesmo erro. Quando /compact responde Not enough messages to compact., a conversa tem uma única troca e não há passado para resumir. Use /clear e reenvie com menos texto colado ou anexos menores. Se a janela encher logo após compactar, restrinja os logs ou arquivos grandes recentes às partes necessárias.
Se você chama a API diretamente
/compact e /clear são operações do Claude Code, não comandos de controle enviados à Messages API. Quando só a entrada já ultrapassa a janela, a API retorna um erro 400 invalid_request_error ("prompt is too long"). Revise messages, system, tools e anexos enviados e estime a entrada com a API de contagem de tokens do modelo de destino. Reduza a própria requisição: resuma histórico antigo, limite documentos às seções relevantes ou remova definições desnecessárias. Evite cortes que quebrem a correspondência entre chamadas de ferramentas e resultados. Também há compactação do lado da API para conversas longas, mas os modelos compatíveis e as configurações são separados dos comandos do Claude Code.
Após recuperar o funcionamento, veja se uma requisição pequena recebe resposta e só então recoloque as informações necessárias aos poucos. Reenviar a mesma entrada enorme e esperar não aumenta a capacidade. Para a limpeza habitual, veja como economizar tokens no Claude Code.
5. Diferenciar erros semelhantes
Entrada grande demais, limite de saída configurado, limite da janela atingido durante a geração e consumo durante um período são problemas diferentes. Diferencie-os pelo texto do erro ou pelo stop_reason da API, e não pela aparência de uma resposta cortada.
| Sintoma | Significado | Resposta principal |
|---|---|---|
| Prompt is too long / Context limit reached / N tokens > M maximum | Tema deste artigo: a entrada ultrapassa a janela de contexto | /compact, /clear, delegar leituras grandes a um subagente ou usar um modelo 1M |
| Resposta termina cedo (stop_reason: max_tokens) | A saída atingiu a configuração max_tokens da requisição | Na API, revisar a configuração de saída e o limite do modelo; ou pedir continuação |
| stop_reason: model_context_window_exceeded | Entrada mais saída atingiram o limite da janela durante a geração | Reduzir a entrada para deixar espaço à saída |
| usage limit reached | A cota de uso do plano foi esgotada; isso é separado da janela de tokens | Esperar a renovação; veja como lidar com limites de uso |
| Usage credits required for 1M context | Problema de acesso: o contexto 1M selecionado não está incluído no plano; não é entrada excessiva nem cota esgotada | Ativar créditos e reiniciar, ou usar /model para voltar à janela padrão |
Segundo a especificação da API da Anthropic, Claude 4.5 e posteriores aceitam a requisição se a entrada sozinha couber, mesmo que entrada mais o max_tokens solicitado ultrapassem a janela. Atingir o limite durante a geração produz model_context_window_exceeded; portanto, uma resposta curta não prova, sozinha, que parou por causa de max_tokens. Para outros problemas, veja erros comuns do Claude Code.
Relacionado: quando o aplicativo Codex mostra o histórico, mas só o envio falha, o problema é o estado da conversa, não o tamanho da entrada. Esse caso é tratado em Codex “thread not found”: diagnóstico e um caso de recuperação.
6. Lista de prevenção
Antes de trabalhar: examine o que foi carregado com /context. Restrinja documentos grandes por busca ou intervalos de linhas, em vez de colá-los inteiros. Ao dividir a pesquisa, especifique também o alcance das conclusões que o subagente deve retornar.
Durante o trabalho: mantenha a compactação automática ativada, como vem por padrão. Se a linha do erro mostrar auto-compact is off, reative-a em /config. Se ela foi desativada pela variável de ambiente DISABLE_AUTO_COMPACT, essa indicação não aparece; nesse caso, remova essa configuração. Verifique também se cada compactação é seguida pela releitura do mesmo material. Compactar manualmente com mais frequência não é necessariamente melhor: importam tanto quando executar /compact quanto especificar as decisões a preservar.
Entre tarefas: antes de uma tarefa sem relação, salve as informações necessárias em arquivos e use /clear para uma nova conversa. A conversa anterior fica salva, mas retomar o mesmo histórico enorme para se recuperar pode trazer a causa de volta. Mantenha nas instruções permanentes de CLAUDE.md apenas as regras necessárias sempre.
Conexões personalizadas: se usa gateway ou ID de modelo personalizado, veja se a janela que o Claude Code presume não diverge da capacidade real da conexão. Aumentar um número na configuração não amplia a janela real do modelo. Como ajustá-la está nas configurações oficiais de modelos personalizados.
Resumo
Prompt is too long significa que a entrada completa, incluindo histórico e anexos, não cabe — não apenas a última frase digitada. Escolha conforme a situação: /compact para histórico longo, reduzir entrada inicial excessiva ou resolver a causa de um erro de compactação.
A segunda metade da mensagem de erro (automatic compaction failed:, single exchange, auto-compact is off) indica em qual situação você está. As definições detalhadas do MCP são carregadas sob demanda por padrão, então avalie a carga com /context, não pelo número de servidores. Para 1M, capacidade, preço e limiar da compactação automática são definidos separadamente por modelo, conexão e plano. No uso direto da API, revise a requisição e o motivo de parada em vez de depender dos comandos do Claude Code.
Perguntas frequentes
P. «Prompt is too long» e «usage limit reached» são a mesma coisa?
R. Não. O primeiro significa que a entrada ultrapassa o limite de contexto de uma requisição; o segundo trata da cota de uso do plano. Para entrada excessiva, reduza o que envia. /clear não restaura a cota do plano.
P. Por que isso ocorre com a compactação automática ativada?
R. As causas são entrada enorme, ausência de conversa anterior para resumir, falha da compactação ou janela cheia novamente logo após resumir. A segunda metade da mensagem de erro permite distingui-las. Se automatic compaction failed: vier seguido de uma causa como falha de autenticação, resolva-a primeiro. Com single exchange, use /clear e recomece com uma entrada menor.
P. /compact também falha com «Conversation too long».
R. Falta espaço para o resumo. Com a caixa de entrada vazia, pressione Esc duas vezes para abrir o menu de retrocesso, volte a conversa até uma mensagem anterior à entrada grande e tente novamente. Para manter o código, escolha Restore conversation. Se não liberar espaço suficiente, registre o essencial e recomece com entrada menor após /clear.
P. Mudar para um modelo 1M resolve?
R. Pode ajudar se a entrada necessária couber na nova janela, mas as condições variam conforme modelo, conexão e plano. Preço padrão por token em 1M não significa o mesmo custo total ao processar mais. Reduzir primeiro histórico desnecessário e saídas enormes facilita avaliar a capacidade necessária.
P. Como vejo o que ocupa a janela?
R. No Claude Code, veja o detalhamento com /context. Isso difere do consumo acumulado ou das cotas do plano em /usage. Por padrão, as definições MCP são carregadas sob demanda, então a quantidade de conexões não indica a carga. Na API, estime a requisição com a API de contagem de tokens do modelo de destino.