Claude Code forgets known facts across sessions despite memory system

Open 💬 3 comments Opened Jun 8, 2026 by nvst18

Problem

Claude Code repeatedly forgets established facts (server IPs, deploy processes, branch names, SSH keys) across sessions, even when those facts are saved in the memory system. When corrected, it saves a new memory entry promising not to forget again, then forgets again next session. This cycle has repeated 5+ times for the same facts.

This wastes hours of the user's time every week. Re-explaining the same facts, watching Claude "discover" things it already knows, correcting the same mistakes, and waiting through unnecessary investigation steps that should take zero time if the memory system worked.

Pattern

  1. User establishes a fact (e.g., "the webapp is deployed on a known server, known path")
  2. Claude saves it to memory
  3. Next session, Claude claims not to know the deploy process and re-investigates from scratch
  4. User corrects it again
  5. Claude saves another memory entry saying "never forget this again"
  6. Repeat

Specific examples of facts forgotten multiple times

  • Webapp deployment location (server, path, branch, deploy steps)
  • SSH keys and server addresses (saved in memory, still asked for or "discovered")
  • Git branch name (saved in multiple memory files, still forgotten)
  • User's full name (stored in memory, still asked for)
  • GitHub auth method (gh CLI is authenticated, still tried expired PATs)

Why this matters

  • The memory system exists specifically to solve this problem, but Claude doesn't reliably consult it before acting
  • Each "I saved it, won't happen again" response is effectively a lie, since the same failure repeats
  • Users pay for a tool that claims persistent memory but doesn't deliver persistent behavior change
  • The trust cost is cumulative: after 5 cycles of the same broken promise, the tool feels unreliable

Expected behavior

Before claiming ignorance of any infrastructure fact, deploy process, or previously established detail, Claude should grep its own memory files and use what it finds. The memory system should drive behavior, not serve as a graveyard of broken promises.

Environment

  • Model: Opus 4.6
  • Memory directory: ~/.claude/projects/*/memory/ with MEMORY.md index
  • Multiple memory entries about the same correction pattern exist and are loaded into context but not consulted before acting

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗