Claude Code: "MEMORY.md over its 200-line read limit", como resolver
Voltar para o Blog
Artigointeligência artificialtecnologiaautomação

Claude Code: "MEMORY.md over its 200-line read limit", como resolver

Mafra12 de outubro de 20265 min de leitura

O Claude Code esqueceu algo que você ensinou ontem, e no transcript aparece: Error: this write left the memory index at MEMORY.md at 214 lines, over its 200-line read limit. Isso significa que o índice da memória automática passou do limite de leitura, e tudo que está depois da linha 200 (ou depois de 25KB) não entra mais na sessão.

Este guia mostra qual é o limite exato, como medir o seu arquivo em um comando e como reescrever o índice sem perder nada. Tudo foi conferido na documentação oficial do Claude Code em 12/10/2026.

O que significa "over its 200-line read limit"?

Significa que o Claude escreveu no MEMORY.md e deixou o arquivo acima de um dos dois limites de leitura: 200 linhas ou 25KB. A escrita funcionou, mas só o começo do arquivo é carregado quando uma sessão abre. A mensagem, como está na documentação (o trecho omitido diz que as entradas do fim já estão invisíveis):

Error: this write left the memory index at MEMORY.md at 214 lines, over its 200-line read limit. The write succeeded, but everything past the limit is silently dropped each time the index is loaded [...] Rewrite it to under 140 lines now: keep one line per entry, move detail into topic files, and merge or drop stale entries.

O Claude Code entrega esse erro ao Claude depois da escrita, e não como aviso no terminal. Por isso é comum você só perceber lendo o transcript, ou quando o agente ignora uma preferência que já tinha aprendido.

Qual é o limite exato do MEMORY.md?

São carregadas as primeiras 200 linhas ou os primeiros 25KB do MEMORY.md, o que vier primeiro. O resto fica no disco, mas não entra no início da conversa.

ItemComportamentoDesde
MEMORY.md (índice da memória automática)Carrega até 200 linhas ou 25KB, o que vier primeiroLimite atual da documentação
Aviso ao passar do limiteErro devolvido ao Claude logo após a escritav2.1.210 (antes, o corte era silencioso)
Frontmatter YAML e comentários HTML de blocoRemovidos antes da medição, não contamv2.1.211
Arquivos de tópico (user_role.md etc.)Não carregam no início, o Claude lê quando precisaSempre
CLAUDE.mdCarrega inteiro até 4 MiB; acima disso é ignoradoLimite atual da documentação

O limite de 200 linhas vale só para o MEMORY.md. A memória automática fica em ~/.claude/projects/<projeto>/memory/, com o índice e um arquivo por memória.

Por que justamente as memórias novas somem?

Porque o corte acontece no fim do arquivo, e é no fim que entradas novas costumam ser adicionadas. O índice é lido de cima para baixo e parado no limite. Resultado: o que o agente acabou de aprender é a primeira coisa a ficar invisível.

Fluxograma: o índice MEMORY.md passou do limite de 200 linhas, meça linhas e bytes com wc -l -c, reescreva o índice pelo /memory; se a regra vale sempre, mova para o CLAUDE.md
Do erro ao índice enxuto, em três passos e um ramo.

Como saber se o meu MEMORY.md já passou do limite?

Conte linhas e bytes de todos os índices de uma vez. No macOS ou Linux:

find ~/.claude/projects -name MEMORY.md -exec wc -l -c {} +

A primeira coluna é o número de linhas e a segunda, o tamanho em bytes. Qualquer arquivo acima de 200 linhas ou perto de 25000 bytes já está perdendo o final. Se você mudou o local com autoMemoryDirectory no settings.json, troque o caminho do comando.

Para ver quais arquivos de instrução foram carregados na sessão atual, rode /context e confira a lista em Memory files.

Como resolver o limite do MEMORY.md?

Reescreva o índice para ficar bem abaixo do limite, com uma linha por entrada, e leve o detalhe para os arquivos de tópico. Nada se perde: os arquivos de tópico continuam lá e o Claude os abre quando precisa.

  1. Peça ao próprio Claude, na sessão:
    Reescreva o MEMORY.md para menos de 140 linhas: uma linha por entrada, detalhe nos arquivos de tópico, junte entradas repetidas e apague as que ficaram velhas.
  2. Prefere editar à mão? Rode /memory e escolha a opção de abrir a pasta da memória automática. É tudo markdown comum.
  3. Rode de novo o find ... wc -l -c e confirme que o arquivo ficou abaixo de 200 linhas e de 25KB.

O número 140 vem da própria mensagem de erro: é a meta que o Claude Code sugere para deixar folga antes do próximo corte.

Regra que precisa valer em toda sessão

Se uma entrada é instrução fixa do projeto ("use pnpm, não npm", "rode os testes antes do commit"), ela fica melhor no CLAUDE.md, que carrega inteiro. Instrução que só importa para parte do código pode ir para .claude/rules/, com escopo por tipo de arquivo, e só entra quando o Claude mexe nesses arquivos. A documentação recomenda manter cada CLAUDE.md abaixo de 200 linhas por aderência, mas isso é recomendação, não corte.

E se o corte aconteceu numa versão antiga?

Antes da v2.1.210, o índice acima do limite era cortado em silêncio no carregamento, sem nenhum aviso na escrita. Atualize o Claude Code e meça o arquivo: se ele passou do limite naquela época, as entradas do fim estão ausentes das sessões desde então.

Na issue #99403, aberta em 04/10/2026, usuários relatam também um aviso no carregamento, no formato MEMORY.md is 267 lines (limit: 200). Only part of it was loaded, observado no Claude Code 2.1.286. Esse texto vem de relato de usuário, não da documentação oficial, e o pedido da issue (mostrar quais entradas caíram) segue aberto.

Se você usa a Verboo Code, as instruções permanentes do projeto ficam no arquivo aberto pelo /memory; o passo a passo está em como dar instruções permanentes ao agente com /memory e AGENTS.md.

Se o que limita o seu agente de programação é o plano e não o tamanho da memória, a Verboo Code tem tokens ilimitados.

Gostou deste artigo?
Compartilhe conhecimento com sua rede.
// Leia também

Artigos relacionados