Claude Code: quando usar /compact e quando iniciar uma nova sessão
Guia prático para gerenciar contexto no Claude Code. Explica diretamente o que /compact faz, compara /compact, /clear, /rewind e uma sessão separada, esclarece a compactação automática no Claude Web e inclui um prompt de verificação após a compactação, um modelo seguro de handoff e um fluxo de decisão de um minuto.
Conteúdo
No Claude Code, /compact resume as partes mais antigas da conversa em uma representação menor e estruturada. Isso libera espaço na janela de contexto ativa, tentando preservar o objetivo da tarefa, as decisões importantes e o estado atual do projeto. O comando é mais útil quando a tarefa continua a mesma e a direção está correta, mas logs, saídas de ferramentas, diffs e discussões intermediárias deixaram a sessão carregada.
Mesmo assim, /compact não corrige magicamente uma sessão que já ficou confusa. Depois da compactação, o contexto ativo deixa de conter todos os detalhes anteriores palavra por palavra. Uma mensagem de erro exata, uma abordagem já descartada, uma restrição temporária ou uma instrução mencionada apenas no chat podem perder destaque. Se o Claude estiver misturando tarefas, repetindo uma solução que falhou ou partindo de uma hipótese arquitetural errada, é mais seguro preparar um handoff curto e começar uma sessão limpa.
O que /compact faz no Claude Code e no Claude Web?
No Claude Code, /compact resume os turnos anteriores e libera espaço de contexto sem alterar, por si só, os arquivos do projeto. O Claude Code também pode compactar automaticamente quando o contexto se aproxima do limite, e você pode executar o comando manualmente antes de a sessão ficar lenta ou cheia de ruído.
Nos chats comuns do Claude Web, não existe um comando /compact disponível para o usuário. Quando a execução de código está ativada e uma conversa longa se aproxima do limite de contexto, o Claude pode resumir automaticamente as mensagens antigas e continuar. Às vezes, a interface mostra que o Claude está “organizando os pensamentos”. O histórico completo permanece salvo, mas o contexto de trabalho ativo usa um resumo em vez de reenviar toda a transcrição literalmente.
| Pergunta | Claude Code | Claude Web |
|---|---|---|
| Como a compactação é acionada | Manualmente com /compact ou automaticamente | Gerenciamento automático perto do limite |
| O usuário pode executar o mesmo comando | Sim | Não há comando equivalente no chat |
| A conversa continua | Sim, na mesma sessão | Sim, no mesmo chat |
| Objetivo principal | Liberar contexto para continuar a mesma tarefa de desenvolvimento | Manter conversas longas com menos interrupções por tamanho |
| Risco principal | Erros exatos e restrições mencionadas apenas no chat podem perder força no resumo | Detalhes antigos podem ficar menos presentes no contexto ativo |
/compact, /clear, /rewind ou uma nova sessão: qual escolher?
| Opção | O que muda | Quando usar | Quando evitar |
|---|---|---|---|
| Continuar | Nada é reiniciado ou resumido | O Claude ainda lembra o sintoma, as restrições e a evidência mais recente | A sessão entrou em loop, mistura tarefas ou recupera ideias rejeitadas |
/compact | Resume turnos antigos, libera contexto e mantém a sessão | A tarefa é a mesma, a direção está correta e há logs ou tool output em excesso | A compreensão central está errada ou detalhes históricos exatos são indispensáveis |
/clear | Inicia uma conversa vazia no processo atual; a sessão anterior pode ser retomada com /resume | Você quer um chat limpo sem trocar o diretório de trabalho nem os arquivos | Você precisa desfazer alterações de código; /clear não restaura arquivos |
/rewind | Abre checkpoints para restaurar código, conversa ou resumir um trecho selecionado | Os turnos recentes desviaram o trabalho e você identifica um bom checkpoint | As mudanças vieram de Bash, ferramentas externas, edição manual ou da maioria dos subagentes |
| Sessão separada | Começa com contexto limpo em outro terminal, janela ou workspace isolado | Você mudou de tarefa, precisa rever a arquitetura ou quer trabalhar em paralelo | O único problema são logs demais em uma sessão que ainda entende a tarefa |
/clear já inicia uma conversa nova e vazia. Nesta guia, “sessão separada” significa criar um limite mais intencional: outro terminal ou janela, talvez uma branch ou worktree independente, e um handoff explícito contendo apenas fatos verificados.
Primeiro descubra se o problema é contexto ou diagnóstico
Imagine uma correção no importador de CSV. Quando amount estiver vazio, o sistema deve retornar um erro de validação e não gravar dados. O Claude já alterou o handler duas vezes, reabriu os mesmos arquivos e agora sugere voltar à primeira implementação.
Não compacte nem reinicie ainda. Execute primeiro o teste mais específico:
npm test -- tests/import/empty-amount.test.ts
Interprete o resultado:
- O teste não existe ou verifica outro comportamento: o primeiro problema é especificação ambígua ou reprodução insuficiente. Uma sessão nova não cria evidências.
- O teste reproduz o sintoma correto de forma estável e o Claude usa o resultado corretamente: continue na sessão atual.
- O teste falha de forma estável, mas o Claude esquece causas já excluídas, amplia o escopo ou repete ideias antigas: a degradação de contexto passa a ser uma causa provável.
Não existe um número oficial de tokens ou mensagens que determine a hora certa de compactar. Use 60%–80% de contexto ocupado como um lembrete para revisar a sessão, não como regra rígida. O sinal mais confiável é o comportamento: o Claude ainda consegue declarar com precisão o objetivo, as restrições, os fatos verificados e o próximo comando de validação?
Quando vale a pena executar /compact?
Dê preferência a /compact quando todas estas condições forem verdadeiras:
- Você ainda está na mesma tarefa e no mesmo repositório.
- O Claude entende corretamente o objetivo e os arquivos permitidos.
- A direção atual está apoiada por testes ou logs, não apenas por suposição.
- A maior parte do contexto está ocupada por logs longos, saída de build, diffs repetidos ou discussão intermediária.
- Os fatos que não podem ser perdidos cabem em poucas frases.
Antes de compactar, revise a árvore de trabalho:
git status --short
git diff
Depois execute /context para descobrir se a janela está sendo consumida por mensagens, ferramentas, definições MCP ou CLAUDE.md. Se o problema real for um primeiro prompt enorme, anexos grandes, definições de ferramentas ou um arquivo de memória excessivo, talvez não existam turnos antigos suficientes para /compact resumir.
O CLAUDE.md na raiz do projeto é recarregado depois de /compact. Instruções que existiam apenas na conversa são menos duráveis. Mantenha regras permanentes em um CLAUDE.md conciso e repita os fatos específicos da tarefa antes e depois da compactação.
Verifique o contexto logo após compactar
Não deixe o Claude editar arquivos imediatamente depois de /compact. Primeiro envie este prompt de verificação:
Acabamos de compactar o contexto. Antes de alterar qualquer arquivo, responda a quatro perguntas:
1. Qual é o sintoma exato que estamos corrigindo e qual é o resultado esperado?
2. Qual abordagem já foi testada e rejeitada, e por quê?
3. Quais arquivos podem ser alterados e o que não deve mudar?
4. Qual único comando executaremos em seguida para validar a hipótese?
Se alguma resposta não puder ser determinada pelo contexto atual, diga qual informação está faltando em vez de adivinhar.
No exemplo, o Claude deve lembrar pelo menos que:
- Um
amountvazio deve gerar erro de validação sem gravar dados. Number(value || 0)foi rejeitado porque transforma um valor vazio em zero válido.- O escopo está limitado ao parser e ao teste específico.
- O próximo passo é um teste estreito ou um comando de rastreamento, não uma refatoração de todo o importador.
Se as respostas estiverem corretas, continue na mesma sessão. Se forem vagas, recuperarem a solução rejeitada ou ampliarem o escopo para README e formato CSV público, não confie no resumo. Prepare um handoff e use /clear ou uma sessão separada.
Quando /compact não é a ferramenta certa
1. A tarefa mudou
Você começou com um bug de validação e depois adicionou atualização do README, mudança de deploy e outro problema de API. A compactação vai resumir tudo junto; não vai criar fronteiras limpas. Leve a segunda tarefa para outra sessão.
2. A hipótese central do Claude já está errada
Se o Claude insiste em tratar valor vazio como zero ou interpreta incorretamente o caminho de gravação, o problema não é apenas uma conversa longa. Uma sessão limpa, ancorada em fatos verificados, costuma ser mais rápida.
3. Detalhes exatos precisam sobreviver literalmente
Algumas linhas de erro, SQL, posições do stack, campos de protocolo e restrições de segurança não podem depender apenas de um resumo. Salve o trecho mínimo necessário no handoff ou em um arquivo local.
4. Uma única entrada já é grande demais
Se o primeiro prompt contém um log enorme, anexos ou muitas definições de ferramentas, não existe uma conversa anterior de vários turnos para compactar. Reduza a entrada, indique arquivos por caminho ou desative servidores MCP desnecessários.
5. Já não há espaço para gerar o resumo
/compact pode falhar se a janela estiver tão cheia que o próprio resumo não caiba. Pressione Esc duas vezes, volte alguns turnos e tente novamente. Se ainda falhar, use /clear; a sessão anterior continuará disponível por /resume.
Quando /rewind é melhor que /compact?
Use /rewind, ou pressione Esc duas vezes com o campo de entrada vazio, quando o problema está concentrado nos turnos recentes. O menu de checkpoints permite:
- restaurar código e conversa ao mesmo tempo;
- restaurar a conversa mantendo os arquivos atuais;
- restaurar o código mantendo a conversa;
- resumir a partir de um ponto selecionado;
- resumir tudo antes de um ponto selecionado.
Isso é útil quando os três últimos turnos desviaram a tarefa, mas o contexto anterior continua correto.
Os checkpoints rastreiam principalmente alterações feitas pelas ferramentas de edição de arquivos do Claude. Mudanças feitas por comandos Bash, programas externos, edição manual ou a maioria dos subagentes podem não ser restauradas. Eles também não substituem o Git; use branches, commits ou pelo menos revise git diff em pontos importantes.
Como transferir a tarefa com segurança para uma nova sessão
A nova sessão não precisa da transcrição inteira. Ela precisa de fatos verificados, do estado atual dos arquivos e de um único próximo passo.
Primeiro revise:
git status --short
git diff
Depois envie um handoff curto:
Objetivo: um amount vazio retorna erro de validação e não grava dados.
Árvore de trabalho: verifique primeiro git status e git diff; não presuma que está limpa.
Arquivos-alvo: parser/amount.ts, tests/import/empty-amount.test.ts
Reprodução: npm test -- tests/import/empty-amount.test.ts
Resultado atual: o teste falha.
Abordagem rejeitada: Number(value || 0), porque transforma valor vazio em zero.
Restrições: não alterar o formato CSV público e não refatorar módulos não relacionados.
Questão aberta: em qual camada distinguir valor vazio de um 0 legítimo?
Próximo passo: rastrear value do CSV parser até a validation branch e propor uma única hipótese testável.
Antes de editar, repita o objetivo, as restrições, a abordagem rejeitada e o próximo comando de validação.
Não inclua API Key, cookies, conteúdo de .env, dados pessoais nem logs brutos completos. Se uma linha de erro for necessária, mantenha apenas o trecho mínimo e o caminho do log local.
Fluxo de decisão em um minuto
- Reproduza primeiro. Execute o menor teste ou comando que comprove o sintoma.
- A sessão ainda consegue avançar com precisão? Se o Claude lembra objetivo, restrições e último resultado, continue.
- O problema é principalmente ruído? Mesma tarefa, direção correta e logs demais: use
/compact. - Só os turnos recentes estão errados? Use
/rewindpara restaurar ou resumir um trecho específico. - A tarefa mudou ou a compreensão se degradou? Use
/clearou uma sessão separada com handoff. - Verifique antes de editar. Faça o Claude repetir os fatos antes de permitir novas alterações.
Perguntas frequentes
O que /compact faz exatamente no Claude Code?
Ele resume a parte antiga de uma conversa com vários turnos em uma representação menor, liberando espaço para a mesma sessão continuar. O comando não altera os arquivos do projeto por si só.
/compact apaga o chat original ou o código?
A função é compactar o contexto ativo, não apagar código. A transcrição da sessão continua disponível, mas os turnos seguintes dependem principalmente do resumo e do conteúdo ativo; por isso, detalhes críticos devem ser verificados.
Quando usar /compact e quando abrir uma nova sessão?
Use /compact quando a tarefa e a direção continuam corretas e o problema principal são logs ou saídas intermediárias acumuladas. Comece do zero quando tarefas se misturam, soluções rejeitadas reaparecem, restrições importantes se perdem ou a arquitetura foi entendida de forma errada.
O que significa Compact no Claude Web?
O Claude Web pode resumir automaticamente mensagens antigas quando um chat longo se aproxima do limite de contexto. Isso não é o comando /compact do Claude Code e normalmente não exige ativação manual. O gerenciamento automático depende de a execução de código estar habilitada.
Qual é a diferença entre /clear e abrir outro terminal?
/clear inicia uma conversa vazia dentro do processo atual do Claude Code, e a sessão anterior pode ser retomada com /resume. Outro terminal ou janela é melhor para isolar tarefas, trabalhar em paralelo ou usar uma branch ou worktree separada.