Por que /compact e /clear Existem: Gerenciando a Janela de Contexto
A janela de contexto de uma sessão do Claude Code não é infinita.
Busque em todas as páginas da documentação
A janela de contexto de uma sessão do Claude Code não é infinita.
Cada prompt, arquivo lido, saída de ferramenta e resposta se acumulam, e uma conversa longa o suficiente eventualmente preenche esse espaço.
/compact e /clear existem para gerenciar esse orçamento deliberadamente, em vez de deixar uma sessão parar ou arrastar histórico obsoleto para um trabalho que não precisa mais dele.
/compact condensa o histórico de uma conversa para liberar espaço, mantendo o que ainda é relevante, enquanto /clear descarta a conversa inteiramente e recomeça./compact quando uma tarefa ainda está em andamento e a conversa ficou longa. /clear ao mudar para algo não relacionado ao que veio antes./compact é um resumo, não uma cópia perfeita - detalhes finos podem ser suavizados. /clear perde tudo da conversa antiga, incluindo detalhes que você ainda poderia querer.Pense na janela de contexto de uma sessão do Claude Code como uma bancada de trabalho com uma área de superfície fixa.
Cada arquivo que você abre, a saída de cada comando e cada mensagem que você envia ocupam parte desse espaço.
No início de uma sessão, há bastante espaço, então nada parece restrito.
À medida que a conversa continua por mais tempo, no entanto, a bancada se enche com coisas do início da tarefa, algumas das quais ainda são úteis e outras não.
/compact e /clear são as duas ferramentas para gerenciar essa área de superfície quando ela começa a parecer lotada.
/compact é como arrumar a bancada de trabalho: ele resume o que está lá, mantém as partes que ainda importam e limpa o resto, para que você possa continuar trabalhando no mesmo projeto.
/clear é como limpar toda a bancada para um novo projeto: tudo o que estava antes se foi, e você começa com uma superfície vazia.
Nenhuma das ferramentas mexe no CLAUDE.md, porque CLAUDE.md não faz parte do histórico da conversa - é memória do projeto que é recarregada do zero no início de cada sessão, independentemente do que aconteça com o contexto dessa sessão.
A distinção central entre os dois comandos é o que acontece com o conteúdo anterior da conversa.
/compact produz um resumo condensado da conversa até o momento, e esse resumo - não a troca original completa - se torna o novo ponto de partida dali em diante.
Isso mantém a essência do que aconteceu (decisões tomadas, arquivos alterados, o estado da tarefa), enquanto encolhe a quantidade de espaço de contexto que ele ocupa.
/clear não resume nada. Ele remove o histórico da conversa completamente, e a próxima mensagem inicia uma sessão genuinamente nova, com CLAUDE.md ainda carregando exatamente como faria para qualquer nova sessão.
A decisão entre eles se resume a uma pergunta: ainda há uma tarefa em andamento que precisa do contexto acumulado, ou o que vem a seguir não está relacionado ao que veio antes?
# ainda trabalhando na mesma tarefa, o contexto está ficando cheio:
/compact
# mudando para uma tarefa completamente diferente e não relacionada:
/clearAlguns detalhes mecânicos que valem a pena internalizar:
/compact é uma etapa de sumarização, o que significa que alguma especificidade é inevitavelmente perdida - um detalhe anterior muito preciso pode ser suavizado em uma declaração mais geral./clear é mais próximo de fechar uma conversa e abrir uma nova - nada é transferido, exceto o que CLAUDE.md e os arquivos no disco ainda representam.A razão mais profunda pela qual esses comandos importam é que o inchaço de contexto raramente é um evento dramático - é geralmente um acúmulo gradual.
Arquivos grandes lidos na íntegra, uma série de menções (@mentions) em uma sessão longa e saídas de ferramentas verbosas (um grande conjunto de testes, um longo log de compilação) se acumulam silenciosamente, e quando a sessão parece lenta, uma parte considerável desse orçamento já está ocupada por coisas que pararam de ser relevantes várias turns atrás.
Reconhecer por que uma sessão ficou pesada é o que torna a escolha entre /compact e /clear informada, em vez de um reflexo.
Se o inchaço é ruído incidental em torno de uma tarefa que ainda está ativa - saídas verbosas de comandos que você não precisa mais ver, pesquisas exploratórias que não deram certo - /compact geralmente é a escolha certa, pois a tarefa em si ainda está ativa e se beneficia do histórico condensado.
Se o inchaço é realmente um sinal de que a tarefa atual terminou, ou que você está mudando para algo com o qual a conversa antiga não tem nada a ver, /clear é o movimento mais honesto, pois arrastar histórico irrelevante para frente, mesmo resumido, adiciona ruído em vez de valor.
| Abordagem | Força | Fraqueza | Melhor Ajuste |
|---|---|---|---|
/compact | Preserva a essência de uma tarefa em andamento enquanto libera espaço | A sumarização pode perder detalhes finos | Sessões longas em uma tarefa que ainda não terminou |
/clear | Redefine completamente o contexto, nada obsoleto é transferido | Perde tudo da conversa anterior, até mesmo detalhes úteis | Iniciando uma tarefa genuinamente nova e não relacionada |
| Não fazer nenhum dos dois | Nenhum esforço é necessário | O contexto continua enchendo até que a janela se esgote ou as respostas degradem | Sessões curtas que nunca se aproximam do limite |
Na prática, um hábito que vale a pena construir é tratar /clear como o padrão entre tarefas não relacionadas - muito como fechar uma aba do navegador que você terminou - e usar /compact especificamente quando você quer manter o ímpeto em algo ainda em andamento, mas a conversa simplesmente ficou longa no processo.
/compact preserva uma versão condensada do histórico para uma tarefa em andamento; /clear remove o histórico inteiramente para um novo começo./clear ou /compact./compact proativamente, assim que uma sessão parecer longa, tende a produzir um resumo melhor do que esperar até que as coisas já estejam lotadas./compact condensa a conversa em um resumo e continua trabalhando a partir dele. /clear remove o histórico da conversa inteiramente e recomeça.
Não. CLAUDE.md é recarregado automaticamente no início de cada sessão, independentemente de você ter executado /clear - não faz parte do histórico da conversa que esses comandos gerenciam.
Quando a tarefa em que você está trabalhando ainda está em andamento e você quer continuar, mas a conversa cresceu o suficiente para que você queira liberar espaço sem perder o fio da meada.
Quando você está mudando para uma tarefa que não está relacionada ao que veio antes, então arrastar até mesmo uma versão resumida da conversa antiga apenas adicionaria ruído.
Pode perder. A sumarização mantém a essência e descarta ou generaliza detalhes finos, que é o compromisso para recuperar espaço de contexto.
Arquivos grandes lidos na íntegra, uma série de menções (@mentions) ao longo de uma sessão longa e saídas de ferramentas verbosas (logs longos, grandes execuções de teste) são contribuintes comuns, além da própria conversa.
Sim. /compact serve exatamente para isso - você mantém a mesma sessão em andamento, agora com um histórico condensado em vez da conversa anterior completa.
Sim, mas você estará efetivamente iniciando uma nova sessão. Nada da conversa anterior é transferido, então qualquer coisa ainda relevante precisa ser reafirmada ou referenciada novamente.
O principal custo é perder contexto útil que você poderia querer manter - se você limpar no meio de uma tarefa, precisará reexplicar coisas que o Claude Code já entendia um momento atrás.
A compactação repetida em um histórico já resumido pode agravar a perda de detalhes finos ao longo de várias rodadas, pois cada passagem condensa o que já é uma versão condensada.
Não há um único sinal universal, mas uma sessão que está em execução há muito tempo, leu vários arquivos grandes ou acumulou muitas saídas de ferramentas é um indício razoável para considerar /compact ou /clear antes que as coisas fiquem lotadas.
/clear geralmente se encaixa melhor - um novo recurso é geralmente não relacionado o suficiente à conversa anterior para que um novo começo seja mais útil do que um resumo condensado de trabalho não relacionado.
Versões do Stack: Escrito contra a linha de modelos Claude atual em ~junho de 2026 - Claude Fable 5, Claude Opus 4.8, Claude Sonnet 5 (o padrão) e Claude Haiku 4.5. Nomes de modelos, preços e recursos do produto mudam rapidamente - verifique os detalhes atuais em platform.claude.com/docs antes de confiar neles.
Revisado por Chris St. John·Última atualização: 16 de jul. de 2026