Como desativar a memória automática do Claude Code num projeto
MarkdownA memória automática do Claude Code num único projeto é desativada com a linha autoMemoryEnabled: false no ficheiro .claude/settings.json. Em que é que isto é melhor do que /memory e como se limpam as notas?
Ler o artigo completo
Para desativar a memória automática do Claude Code apenas num projeto, adiciona "autoMemoryEnabled": false ao ficheiro .claude/settings.json desse projeto. O botão de alternância do comando /memory não serve para isto: escreve a definição no teu ficheiro global e desativa a memória em todos os projetos do teu computador.
Um agente pode rapidamente ficar cheio de coisas de que não precisa. No caso aqui descrito, o Hermes passou 2 horas a pensar numa tarefa. Quando lhe perguntaram: «Quantos tokens usaste?», respondeu: «A minha estimativa aproximada é 100 milhões.» Resolveste a tarefa? «Não, pesquisei.» Continuou a percorrer todos os ficheiros, um a um, e a ficar confuso.
É por isso que só deves guardar na memória de um agente as informações mais valiosas. E, segundo a avaliação aqui apresentada, a memória automática do Claude Code é bastante fraca: muito pequena e fortemente comprimida. Se queres que o Claude trabalhe apenas segundo as tuas regras, basta 1 linha nas definições do projeto.
Vamos ver em que difere a memória automática do CLAUDE.md, como a desativar e o que fazer com as notas antigas. Vamos a isso.
Documentação de referência da Ailoot: ailoot.ai/docs/.
Ideia principal
Abre o ficheiro .claude/settings.json do projeto e adiciona "autoMemoryEnabled": false. Se outras pessoas trabalham no projeto e queres desativar a memória apenas para ti, coloca a mesma chave em .claude/settings.local.json. A chave aplica-se apenas a este projeto; a memória continuará a funcionar nos outros. O botão de alternância em /memory escreve a chave em ~/.claude/settings.json e desativa a memória em todo o lado. As notas antigas permanecem no disco quando a memória é desativada. Podes abri-las através de /memory e limpá-las manualmente.
Em que difere a memória automática do CLAUDE.md?
O CLAUDE.md é o ficheiro principal de instruções, e és tu que o escreves. Em cada novo chat, é como se o Claude perguntasse: «O que está aqui? Quem sou eu? O que devo fazer?» Quando tudo está explicado no CLAUDE.md, responde: «Certo, sou o especialista. Percebido.»
O Claude escreve a memória automática por si próprio. Dizes-lhe: «Lembra-te de que deves responder sempre no meu idioma preferido» ou «Não fixes valores no código; obtém-nos sempre da base de dados», e ele escreve um ficheiro na pasta de memória, na linha de «não voltes a fazer isso». Nas sessões seguintes, lembra-se disso.
Claro que nem sempre. Os agentes continuam a esquecer-se das coisas e tens de estar atento: «Olha, pá, esqueceste-te outra vez. Já falámos disto.» Ele responde: «Ah, sim, lembro-me; encontrei aqui no ficheiro.» É por isso que, em geral, colocamos tudo o que é importante no CLAUDE.md em vez de confiarmos na memória.
Há uma explicação detalhada sobre que regras colocar no CLAUDE.md num artigo separado, e sobre as diferenças entre a Memory no chat Claude e o CLAUDE.md noutro artigo.
Se crias os teus projetos com agentes de IA, mantém a documentação das ferramentas que utilizas por perto.
O que o Claude escreve por iniciativa própria
O Claude Code guarda 4 tipos de notas:
user— o teu papel, experiência e forma de trabalhar preferida;feedback— as tuas correções e abordagens que confirmaste;project— trabalho atual, prazos e decisões que não são visíveis no código;reference— onde encontrar informações fora do projeto, como num sistema de acompanhamento de tarefas.
Tudo isto fica em ~/.claude/projects/<project>/memory/. O ficheiro principal é o MEMORY.md, um índice com 1 linha por nota. No início de cada sessão, o Claude lê as primeiras 200 linhas ou 25 KB e abre os outros ficheiros quando precisa deles. A memória só existe no teu computador: não é transferida para outra máquina nem para a nuvem.
No exemplo aqui descrito, contém o nome e o papel do utilizador, além de uma regra contra a fixação de valores dinâmicos no código, apenas 5–7 linhas no total. São regras para o próprio agente: como deve trabalhar.
Podes guardar conhecimentos sobre o projeto num segundo cérebro: pastas com ficheiros que o agente lê através de ligações. Para esta abordagem, é útil definir uma competência de «segundo cérebro» e manter, junto dos ficheiros do projeto, um PDF com os comandos de instalação do Hermes e uma tabela sobre «que modelo usar para cada tarefa».
Como desativar a memória automática num projeto
Adiciona a linha às definições do projeto
A pasta principal do projeto contém uma pasta oculta
.claudecom um ficheirosettings.json. A forma mais fácil é pedir ao próprio Claude Code: «Adiciona"autoMemoryEnabled": falseao ficheiro.claude/settings.jsondeste projeto e deixa as outras definições como estão.» Se estiveres a editá-lo manualmente e o ficheiro não existir, cria-o com este conteúdo:{ "autoMemoryEnabled": false }Se o ficheiro já contiver definições, adiciona a chave junto das restantes e não alteres mais nada. Quando
autoMemoryEnabledestá definido comofalse, o Claude não lê a pasta de memória nem escreve nela.Escolhe a quem se aplica a definição
.claude/settings.jsoné o ficheiro partilhado do projeto e aplica-se a todas as pessoas que trabalham nele. Se quiseres desativar a memória apenas para ti, coloca a mesma chave em.claude/settings.local.json: este é o teu ficheiro pessoal de definições para este projeto.As definições do projeto prevalecem sobre as definições globais. Mesmo que a memória esteja ativada em
~/.claude/settings.json, neste projeto prevalecefalse.Reinicia o Claude Code
Fecha a sessão e executa novamente
claudena pasta do projeto. Escreve/status: o ficheiro do projeto deverá aparecer na linhaSetting sources. Se aparecer, o Claude leu-o. A memória continuará ativada no projeto ao lado.
Há mais 2 métodos, mas servem propósitos diferentes:
- A variável de ambiente
CLAUDE_CODE_DISABLE_AUTO_MEMORY=1. ExecutarCLAUDE_CODE_DISABLE_AUTO_MEMORY=1 claudedesativa a memória apenas nessa execução e prevalece sobre a chave nos ficheiros de definições. Mas tens de escrever isto sempre que executas o comando. - O botão de alternância em
/memory. EscreveautoMemoryEnabledem~/.claude/settings.json, o teu ficheiro global para todos os projetos do computador. Se o usares num projeto, desativas a memória em todo o lado.
Mais uma coisa: numa sessão em segundo plano, o botão de alternância só consegue desativar a memória, não voltar a ativá-la. Para a ativar, usa uma sessão normal que tenhas iniciado pessoalmente ao executar claude no terminal.
Aviso
Desativar a memória não apaga nada do que o Claude já escreveu. A pasta memory permanece no disco até a limpares tu próprio.
O que fazer com as notas antigas
O comando /memory apresenta os ficheiros de memória e permite abrir qualquer um deles. São ficheiros de texto comuns: podes editá-los ou apagá-los.
Não os apagues às cegas; primeiro, vê o que lá está. No caso aqui descrito de limpeza da pasta de regras, o agente tinha registado informações desnecessárias sobre o utilizador como parte da sua autorreflexão. Regras confusas são tão prejudiciais como um ficheiro CLAUDE.md principal desorganizado e cheio de regras desatualizadas: o agente continua a usá-las, alucina e dá-te um contexto pior.
Podes pedir ao agente que faça a limpeza. Uma vez por semana, podes dar-lhe uma tarefa como esta para a pasta de trabalho; também funciona para a pasta de memória:
A tua tarefa é encontrar tudo o que já não é relevante ou está desatualizado e provar que está realmente desatualizado. Ainda não o deves apagar; limita-te a encontrá-lo e a apresentá-lo.
Ele apresenta-te uma lista com provas, e tu decides o que apagar. Transfere das notas para o CLAUDE.md apenas as informações mais valiosas. Há uma explicação sobre como manter as instruções curtas para que o Claude as siga num artigo separado. E o artigo sobre o segundo cérebro explica como organizar a memória do projeto no seu conjunto, com pastas e regras.
Mantiveste a memória automática ativada ou desativaste-a? Vê o que o Claude já conseguiu memorizar sobre ti. Podes continuar a explorar a Ailoot em ailoot.ai.
Fontes
- Claude Code: Como o Claude se lembra do teu projeto — tipos de notas, pasta de memória, 200 linhas ou 25 KB, botão de alternância /memory, definição para um único projeto e variável de ambiente
- Claude Code: Ficheiros de definições e precedência —
.claude/settings.json,.claude/settings.local.jsone~/.claude/settings.json, e qual prevalece - Claude Code: Referência de definições, autoMemoryEnabled — o que faz
false, onde se pode definir a chave e a precedência da variável de ambiente
Mais detalhes
Perguntas frequentes
Que ficheiro de definições desativa a memória só para mim num projeto?
Coloque "autoMemoryEnabled": false em .claude/settings.local.json desse projeto. Use .claude/settings.json para uma definição partilhada do projeto. A opção em /memory altera a definição global e não serve quando os outros projetos devem manter a memória ativa.
Desativar a memória automática apaga as notas antigas?
Não. A pasta de memória permanece no disco. Examine os ficheiros antes de eliminar algo e, se necessário, preserve as decisões úteis noutro local. Reinicie o Claude Code depois de alterar as definições do projeto e verifique em /status a origem da definição carregada.