Quando o Claude Code CLI Usa 100% de CPU — Causas e Soluções
Descoberta
Enquanto trabalhava no dia anterior, o Claude Code congelou repentinamente, então eu o encerrei à força. Na manhã seguinte, meu MacBook estava mais quente que o normal. Abri o Monitor de Atividade e descobri que o processo do Claude Code v2.1.27 estava consumindo 100% de CPU.
Path: ~/.local/share/claude/versions/2.1.27
Command: claude --continue
CPU: 99.5%
Memory: ~600MB
Uptime: Aproximadamente 8 horasO processo do servidor de desenvolvimento, que o Claude Code havia executado anteriormente como uma Skill, não havia terminado e permaneceu como um zumbi, consumindo a CPU.
Tentei pkill claude, mas não morreu, então tive que forçar o kill com kill -9 <PID>.
Eventualmente, resolvi limpando os arquivos de sessão + fazendo downgrade para a versão estável com claude install 2.1.22. Sem recorrência de uso de CPU desde então.
Causa
Este é um bug conhecido reportado no Claude Code CLI v2.1.27. Existem múltiplas issues registradas no GitHub com os mesmos sintomas.
1. Arquivos de Sessão Inchados (Mais Provável)
Se os arquivos de sessão .jsonl acumulados em ~/.claude/projects/ ficarem muito grandes, o parsing entra em um loop infinito de CPU.
claude --continue é diretamente afetado por este problema porque carrega o arquivo de sessão anterior.
- Reprodução confirmada na v2.1.27, enquanto a v2.1.25 funciona normalmente.
- Resolvido imediatamente após deletar os arquivos de sessão.
Referência: #22041 — CLI trava em 99% de CPU na inicialização com arquivos de sessão .jsonl grandes
2. Conflito entre Hooks e Instâncias Paralelas
Desde a v2.1.23, se múltiplas instâncias do Claude Code forem executadas com hooks habilitados, ocorre um travamento de 100% de CPU.
Referência: #22172 — v2.1.23+ causa travamento de 100% CPU com múltiplas instâncias paralelas e hooks
3. Busy-wait em Estado Ocioso
Chamadas setImmediate() são agendadas repetidamente sem ceder, consumindo CPU mesmo sem fazer nenhum trabalho.
Referência: #17148 — Claude Code consome 100%+ de CPU quando ocioso no terminal
Soluções
Passo 1: Encontrar Processos Zumbis
ps aux | grep claude | grep -v grepVerifique os processos relacionados ao claude e o PID na saída.
Passo 2: Terminar o Processo
pkill claude não funciona neste processo zumbi. Você deve especificar o PID para terminá-lo.
# pkill não funciona
pkill claude # ← Sem resposta
# Force kill especificando o PID diretamente
kill -9 <PID>Passo 3: Limpar Arquivos de Sessão Inchados
# Verificar tamanho dos arquivos de sessão
du -sh ~/.claude/projects/*/
# Deletar arquivos de sessão problemáticos
rm ~/.claude/projects/<project-path>/*.jsonlSe você deletar o arquivo de sessão, não poderá continuar a conversa anterior com claude --continue. Faça backup antes de deletar, se necessário.
Passo 4: Downgrade de Versão (para usuários de hooks)
Se você está usando hooks, faça downgrade para uma versão estável anterior.
Você pode instalar uma versão específica usando o comando claude install.
# Downgrade para versão específica (sem prefixo v)
claude install 2.1.22
# Verificar
claude --versionCuidado: Executar
claude install stableouclaude updateirá atualizar de volta para a última versão estável.
Prevenção
Se estiver usando v2.1.23 ou superior:
| Método | Descrição |
|---|---|
| Limpar arquivos de sessão periodicamente | Limpe se os arquivos .jsonl em ~/.claude/projects/ excederem 10MB |
| Hábito de verificar término | Após sair do claude, verifique se o processo realmente morreu com ps aux | grep claude |
Evitar spam de --continue |
Conforme a sessão fica mais longa, o .jsonl fica inchado. Iniciar uma nova sessão é mais seguro |
| Cuidado com hooks + execução paralela | Não execute múltiplas instâncias simultaneamente enquanto os hooks estiverem ativos |
| Acompanhar atualizações | Verifique correções relevantes em anthropics/claude-code Issues |
/clearapenas inicializa o contexto da conversa; não deleta o arquivo.jsonlem si. Não tem efeito direto na prevenção de inchaço do arquivo de sessão.
Coleção de Issues Relacionadas
- #22041 — CLI trava em 99% de CPU na inicialização com arquivos de sessão .jsonl grandes
- #22172 — v2.1.23+ causa travamento de 100% CPU com instâncias paralelas e hooks
- #17148 — Claude Code consome 100%+ de CPU quando ocioso no terminal
- #11122 — Múltiplos processos do Claude CLI se acumulam causando alto uso de CPU
- #11377 — Vazamento de memória: 23GB de RAM e 143% de CPU após 14 horas
Pergunte à IA Imediatamente
Copie e cole o prompt abaixo adequado à sua situação para uma IA (Claude, ChatGPT, etc.), e ela irá diagnosticar e limpar para você.
Quando o Claude Code congelou e você apenas fechou o terminal
Eu estava usando o Claude Code e ele congelou, então fechei o terminal à força.
Pode haver um processo zumbi deixado em segundo plano, então por favor verifique e limpe.
1. Verifique processos restantes com `ps aux | grep claude | grep -v grep`
2. Se encontrar, force kill com `kill -9 <PID>` (pkill não funciona)
3. Verifique arquivos de sessão inchados com `du -sh ~/.claude/projects/*/` → Delete .jsonl acima de 10MB
Mostre os resultados de execução para cada passo e explique o que você fez.Quando o MacBook fica mais quente que o normal
Meu MacBook está mais quente que o normal. Um processo zumbi do Claude Code pode estar consumindo a CPU.
Por favor, diagnostique e resolva.
1. Verifique processos zumbis com `ps aux | grep claude | grep -v grep`
2. Se encontrar, force kill com `kill -9 <PID>` (pkill não funciona)
3. Verifique arquivos de sessão inchados com `du -sh ~/.claude/projects/*/` → Delete .jsonl acima de 10MB
4. Se estiver usando hooks, considere fazer downgrade para uma versão estável com `claude install 2.1.22`
Mostre os resultados de execução para cada passo e explique o que você fez.Atualmente estou com downgrade para claude install 2.1.22. Planejo atualizar quando uma versão com esta correção for lançada.