Guia de campo do Claude Code em português

Memória persistente no Claude Code: o que ele lembra, onde guarda e como corrigir

O Claude Code abre cada sessão sem a conversa anterior na janela. O que passa de uma sessão para a outra vem de arquivos: o CLAUDE.md, que você escreve, e a auto memory, que o próprio Claude escreve enquanto trabalha (p. 47). Abaixo, como a auto memory funciona, o limite do que carrega e como mantê-la limpa.

Duas memórias, dois autores

CLAUDE.mdAuto memory
Quem escreveVocêO Claude, enquanto trabalha
Para quêComandos, convenções, armadilhas do projetoO que ele julga útil numa conversa futura
Onde ficaNa pasta do projeto, vai para o git~\.claude\projects\<projeto>\memory\, só nesta máquina
O que carrega na aberturaO arquivo inteiroO começo do índice MEMORY.md

O jeito de escolher qual das duas recebe uma informação é o pedido: "lembre que os testes precisam do Redis local" grava na auto memory; "acrescente isto ao CLAUDE.md" grava no arquivo do projeto (p. 47). O que a equipe inteira precisa saber vai para o CLAUDE.md, porque a auto memory não sai do seu computador.

O que a auto memory guarda

Ela vem ligada nas sessões locais. O Claude grava uma nota por arquivo, de quatro espécies, marcadas no campo type: quem você é (user), correções que você deu (feedback), prazos e decisões que o código não mostra (project) e onde achar coisas fora do projeto (reference). O que o próprio código já diz, ela não guarda (p. 47). Desde a versão 2.1.214, cada nota com cabeçalho YAML ganha, na próxima vez que o Claude a escreve, o campo modified, com a data da última escrita.

Um exemplo: você diz "use pnpm, não npm". O Claude cria feedback_pnpm.md na pasta de memória e acrescenta uma linha no índice MEMORY.md que aponta para ela. Na sessão seguinte, a linha do índice já está na janela; o arquivo da nota só é lido se o Claude precisar dele.

O limite: 200 linhas ou 25 KB

Na abertura da sessão entram só as primeiras 200 linhas ou os primeiros 25 KB do MEMORY.md. Da linha 201 em diante, nada carrega sozinho, e as notas ficam no disco até o Claude abrir uma (p. 47). Por isso o índice precisa ser curto: uma linha por memória, com o detalhe dentro do arquivo da nota. Um índice que cresce sem revisão esconde as memórias mais novas, que costumam ir para o fim.

A pasta é desta máquina e é a mesma para todas as worktrees do repositório: o que o Claude aprendeu numa worktree vale nas outras (p. 47).

Ver, corrigir e apagar

As notas são Markdown comum. Digite /memory na sessão para abrir a pasta e editar ou apagar qualquer uma (p. 47). Vale revisar de tempos em tempos: uma nota velha, como um comando que mudou de nome, continua sendo lida como se fosse verdade.

PowerShell: listar as notas de memória de todos os projetos

Get-ChildItem "$HOME\.claude\projects\*\memory\*.md" |
  Select-Object LastWriteTime, Length, FullName

Desligar

Há três caminhos, do mais amplo ao mais pontual (p. 47):

PowerShell: sessão sem auto memory

$env:CLAUDE_CODE_DISABLE_AUTO_MEMORY = "1"
claude

Memória não é a conversa

A auto memory guarda notas, não o histórico. Para continuar a conversa de onde parou, com tudo o que foi dito, use claude -c (a última conversa desta pasta) ou claude -r (escolher qual) (p. 13). E, dentro de uma sessão longa, instrução dada só no chat some no /compact: o CLAUDE.md da raiz e a auto memory são relidos do disco, e o resto vira resumo (p. 48). Regra que precisa sobreviver vai para um dos dois arquivos, não para a conversa.

Projeto com AGENTS.md

Se o repositório tem um AGENTS.md e nenhum CLAUDE.md, CLAUDE.local.md ou .claude\CLAUDE.md na pasta atual ou acima, o Claude o lê no lugar, sem configuração. Basta um desses, até um CLAUDE.local.md pessoal, para o AGENTS.md sair e valer só o CLAUDE.md (p. 47 e 48); o /config, em Project instructions, muda isso. No Windows, para um arquivo servir às duas ferramentas, ponha no CLAUDE.md a linha @AGENTS.md em vez de criar um link simbólico (p. 47).

Leia também