Skip to content

[FEATURE] Option to disable auto-memory #23750

Description

@idamantium

Preflight Checklist

  • I have searched existing requests and this feature hasn't been requested yet
  • This is a single feature request (not multiple features)

Problem Statement

As of 2.1.32, Claude Code automatically records memories to ~/.claude/projects/{project-path}/memory/MEMORY.md as it works. There's currently no way to disable this behavior while still using CLAUDE.md files for project instructions.

The existing --no-memory flag disables all memory, including CLAUDE.md files. I want to keep using CLAUDE.md. I just don't want Claude automatically writing to a separate memory directory I don't control or have visibility into.

The automatic memory recording creates a parallel set of instructions that:

  • I didn't know existed until Claude mentioned it
  • I can't easily review or edit
  • The memory file may contain instructions that conflict with or duplicate my CLAUDE.md
  • The flag to disable it also disables CLAUDE.md files loading
  • The new UI only shows "writing memory" or "reading memory" when that could be the new auto-memory file or CLAUDE.md, further confusing instructions management

Proposed Solution

A setting to disable automatic memory recording specifically, separate from the --no-memory flag. For example:

  • --no-auto-memory flag (or equivalent in settings.json)

Related: #23176 addresses UI transparency for memory writes. This request is complementary. I'd prefer to disable the feature entirely.

Alternative Solutions

Currently, I have put instructions in my CLAUDE.md file to not use memory, and I may add a workflow to review and delete the memory if I cannot manage it more deliberately through settings.

Priority

High - Significant impact on productivity

Feature Category

CLI commands and flags

Use Case Example

I have existing specifications for working with certain MCPs in my CLAUDE.md file.

Claude Code just added new revised specifications to the memory file. I needed to expand with Ctrl+O what exactly it wrote to memories to understand if it put it in the memories file or the CLAUDE.md file. I then had it retrieve everything it had put in the memory file, transfer and properly integrate into the CLAUDE.md file and delete the entire memory file.

If I could simply disable memories in settings.json, I would not need to do this.

Additional Context

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions