Feature request: decouple CLAUDE.md and MEMORY.md controls — autoMemoryEnabled should not toggle both simultaneously
Resolved 💬 4 comments Opened Apr 23, 2026 by OnCeUponTry Closed May 27, 2026
Summary
autoMemoryEnabled is a single toggle that controls both CLAUDE.md loading and MEMORY.md loading simultaneously. These two features are distinct and should be independently controllable.
Current behavior
A single setting controls everything:
{
"autoMemoryEnabled": true
}
When true, Claude Code:
- Loads and injects
CLAUDE.md(project/user instructions) - Loads and injects
MEMORY.mdand all memory files - Injects a system prompt explaining how to use the memory system
There is no way to enable one without the other.
The problem this causes
- If a user wants persistent memory (
MEMORY.md) but does not wantCLAUDE.mdauto-loaded (e.g. managing it manually or via a sync tool), there is no way to do that. - Conversely, if a user wants
CLAUDE.mdloaded but does not want the memory system active, also impossible. - The injected system prompt explaining memory usage (point 3 above) is a direct consequence of this coupling — it is injected whenever the memory system is on, with no way to suppress it independently. This adds tokens even for users who understand the memory system and do not need the instructions.
Requested behavior
Split autoMemoryEnabled into separate controls:
{
"claudeMdEnabled": true,
"autoMemoryEnabled": true
}
Or at minimum add a way to suppress the instructional system prompt while keeping memory active:
{
"autoMemoryEnabled": true,
"autoMemoryInstructions": false
}
Why this matters
Power users who manage their own instruction files (e.g. via sync tools that write to CLAUDE.md) need to decouple these two features. The current coupling forces an all-or-nothing choice that reduces flexibility.
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗