Claude doesn't proactively read memory files before acting on known systems
Problem
Claude Code has a persistent memory system (~/.claude/projects/*/memory/) with an index file (MEMORY.md) that's loaded into context. However, Claude consistently fails to read individual memory files before starting work on known systems, even when:
- MEMORY.md index clearly lists relevant memories for the system being worked on
- There's an explicit feedback memory saying "Check memory before acting on known systems"
- The task involves a system with established deployment procedures, architecture notes, and lessons learned
What happens
- Claude explores the codebase from scratch (many tool calls, high token usage)
- Claude rediscovers information that was already saved in memory
- Claude makes mistakes that were previously documented and saved as lessons
- Massive token waste on reconnaissance that memory would have eliminated
Expected behavior
Before starting work on any known system (especially ones referenced in MEMORY.md), Claude should:
- Scan MEMORY.md for relevant entries
- Read those memory files
- Use that context to skip unnecessary exploration
Real example
Today: Asked to fix charts + tiers on Immigration Analytics (Server B). Memory had project_immigration_analytics.md with deployment info. Claude ignored it, explored from scratch, then manually recreated Docker containers (wrong approach), broke Traefik routing, had to rollback and rediscover the correct docker-compose deploy method — all of which could have been avoided by reading memory first.
Frequency
This is a recurring issue across multiple sessions. The user has already created a feedback memory (feedback_check_memory_first.md) about this exact problem, which Claude also ignored this session.
Suggestion
Consider making memory retrieval a mandatory first step (like a system-level hook) when the user's message references a known project/system that appears in MEMORY.md, rather than relying on Claude to voluntarily check.
🤖 Generated with Claude Code
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗