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.
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.
Resumo
- Ideia Central:
/compactcondensa o histórico de uma conversa para liberar espaço, mantendo o que ainda é relevante, enquanto/cleardescarta a conversa inteiramente e recomeça. - Por que Importa: Uma janela de contexto finita significa que sessões não gerenciadas eventualmente ficam lotadas com histórico antigo e não mais útil, o que pode sufocar o espaço necessário para a tarefa atual.
- Conceitos Chave: janela de contexto, histórico da sessão, inchaço de contexto, sumarização, um novo começo.
- Quando Usar:
/compactquando uma tarefa ainda está em andamento e a conversa ficou longa./clearao mudar para algo não relacionado ao que veio antes. - Limitações / Compromissos:
/compacté um resumo, não uma cópia perfeita - detalhes finos podem ser suavizados./clearperde tudo da conversa antiga, incluindo detalhes que você ainda poderia querer. - Tópicos Relacionados: auditoria de inchaço da janela de contexto, memória persistente CLAUDE.md, menções (@mentions) e seu custo de contexto.
Fundamentos
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.
Mecânicas e Interações
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.- Nenhum dos comandos altera o que está no disco - eles afetam apenas o que está presente no contexto da conversa.
- Como ambos os comandos operam no contexto da sessão, executar qualquer um deles não tem efeito em outras sessões separadas do Claude Code.
Considerações Avançadas e Aplicações
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.
Conceitos Equivocados Comuns
- "/compact e /clear fazem mais ou menos a mesma coisa." - Eles não fazem.
/compactpreserva uma versão condensada do histórico para uma tarefa em andamento;/clearremove o histórico inteiramente para um novo começo. - "/clear também remove meu CLAUDE.md." - Não remove. CLAUDE.md é memória do projeto, recarregada no início de cada sessão independentemente de
/clearou/compact. - "/compact não tem perdas." - É um resumo. Detalhes específicos podem ser generalizados ou descartados no processo, que é o compromisso para liberar espaço.
- "Você deve esperar até que a janela de contexto esteja quase cheia para usar qualquer um dos comandos." - Usar
/compactproativamente, assim que uma sessão parecer longa, tende a produzir um resumo melhor do que esperar até que as coisas já estejam lotadas. - "/clear só é útil quando você encontra um erro." - É tão útil quanto um hábito deliberado para mudar de tarefas de forma limpa, não apenas como uma medida de recuperação.
FAQs
Qual é a diferença real entre /compact e /clear?
/compact condensa a conversa em um resumo e continua trabalhando a partir dele. /clear remove o histórico da conversa inteiramente e recomeça.
O /clear também remove minhas regras do CLAUDE.md?
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 devo usar /compact em vez de /clear?
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 devo usar /clear em vez de /compact?
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.
O /compact perde alguma informação?
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.
O que realmente faz com que uma janela de contexto se encha?
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.
Posso continuar trabalhando depois de executar /compact?
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.
Posso continuar trabalhando depois de executar /clear?
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.
Existe alguma desvantagem em executar /clear com muita frequência?
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.
Existe alguma desvantagem em executar /compact com muita frequência?
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.
Como sei que minha janela de contexto está ficando cheia?
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.
Devo usar /compact ou /clear antes de iniciar um recurso completamente novo?
/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.
Relacionados
- Auditing What's Eating Your Claude Code Context Window - identificando o que está preenchendo a janela de contexto antes de decidir qual comando usar.
- Context Management Basics - onde esses comandos se encaixam entre as ferramentas centrais da seção.
- Referencing Specific Files with @mentions - um contribuinte comum para o crescimento do contexto.
- What CLAUDE.md Actually Does - por que a memória do projeto sobrevive a ambos os comandos.
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.