Claude Code の auto memory を無効にする・保存先を変える設定(autoMemoryEnabled 他)
Claude が自分で書き溜める auto memory の仕組みと、autoMemoryEnabled・CLAUDE_CODE_DISABLE_AUTO_MEMORY・autoMemoryDirectory で無効化や保存先変更をする方法、MEMORY.md の読み込み上限を解説します。
Claude Code には、あなたが書く CLAUDE.md とは別に、Claude 自身が「指摘されたこと」「好み」「プロジェクトの事情」を書き留めていく auto memory があります。便利な反面、共有マシンや検証用の環境では「勝手に何かを覚えてほしくない」「保存先を管理下に置きたい」という要望が出ます。
結論として、autoMemoryEnabled: false で無効化、autoMemoryDirectory で保存先の変更、CLAUDE_CODE_DISABLE_AUTO_MEMORY=1 で 1 セッションだけ無効化ができます。
KEY POINT
この記事で分かること
- auto memory が何を、どこに、どこまで保存するか
- 無効化・保存先変更の 3 つの手段と、それぞれの優先順位
- 保存された内容の確認と削除の方法
auto memory とは何か
auto memory は、Claude が会話中に「今後も役立つ」と判断した内容を自分でファイルに書く仕組みです。公式ドキュメントによると、記録されるのは次の 4 種類で、ファイルのフロントマターの type に種別が入ります。
| type | 内容 |
|---|---|
user | あなたの役割、専門性、作業の好み |
feedback | あなたが与えた修正と、認めたやり方 |
project | 進行中の作業、締切、コードや git 履歴からは分からない判断 |
reference | 課題管理やダッシュボードなど、プロジェクト外の情報の在り処 |
コードから分かること(構成やファイルパス)や、CLAUDE.md に既に書いてあることは記録しません。既定の保存先は ~/.claude/projects/<project>/memory/ で、MEMORY.md という索引と、トピックごとのファイルで構成されます。<project> は git リポジトリから決まるため、同じリポジトリの worktree やサブディレクトリはメモリを共有します。
用語解説
MEMORY.md: auto memory の索引ファイルです。先頭 200 行または 25KB のどちらか早い方までが毎セッションの開始時に読み込まれ、それより後ろは読み込まれません。トピックファイルは起動時には読まれず、必要になったときに Claude が読みます。
無効にする
方法は 3 つあり、適用範囲が違います。
{
"autoMemoryEnabled": false
}
| 手段 | 範囲 | 備考 |
|---|---|---|
/memory のトグル | ユーザー設定 | ~/.claude/settings.json に autoMemoryEnabled を書き込む |
autoMemoryEnabled: false | 書いた settings ファイルの範囲 | プロジェクトの .claude/settings.json に書けばそのプロジェクトだけ |
CLAUDE_CODE_DISABLE_AUTO_MEMORY=1 | 1 セッション | settings の値より優先される |
autoMemoryEnabled が false のとき、Claude はメモリディレクトリの読み書きを一切しません。true(既定)でも、--bare やセーフモード、環境変数 CLAUDE_CODE_DISABLE_AUTO_MEMORY のようにこのキーより優先されるものがあれば、そのセッションでは無効になります。
保存先を変える
autoMemoryDirectory に絶対パスか ~/ で始まるパスを書くと、既定の場所の代わりにそのディレクトリを使います。どの settings スコープにも書けます。
{
"autoMemoryDirectory": "~/my-memory-dir"
}
プロジェクトやローカルの settings に書いた場合は、settings 内の hooks と同じ ワークスペース信頼のルール の下で有効になります。clone したリポジトリがこのキーを持ち込める以上、信頼していないフォルダでは適用されないという考え方です。
別マシンや別環境には引き継がれない
auto memory はマシンローカルです。別のマシンやクラウド環境には共有されません。チームで共有したい知識は auto memory ではなく CLAUDE.md に書いてください。「これを CLAUDE.md に追加して」と頼めば、Claude は auto memory ではなく CLAUDE.md に書きます。
保存内容の確認と削除
セッション内で /memory を実行すると、CLAUDE.md の一覧と一緒に auto memory のトグルと、メモリフォルダを開く項目が表示されます。中身はただの Markdown なので、エディタで直接編集・削除して構いません。
保持期間による自動削除(cleanupPeriodDays)の対象外で、メモリディレクトリはそれが保持期間の間ずっと空だった場合にだけ削除されます。トランスクリプトの保持期間については Claude Code のトランスクリプトはいつ消えるか を参照してください。コンテキストの節約という観点では、コンテキスト管理の記事 で扱っている /compact や /clear と組み合わせて考えると全体像がつかめます。
まとめ
- auto memory は Claude が自分で書く記録で、既定では
~/.claude/projects/<project>/memory/に保存される autoMemoryEnabled: falseで無効化。プロジェクトの settings に書けばそのプロジェクトだけ止められるCLAUDE_CODE_DISABLE_AUTO_MEMORY=1は 1 セッション限定で、settings より優先されるautoMemoryDirectoryで保存先を変更。プロジェクト設定ではワークスペース信頼が前提MEMORY.mdは先頭 200 行 / 25KB までしか読み込まれない。/memoryから確認・編集できる
よくある質問
- auto memory はどこに保存されますか?
- 既定では ~/.claude/projects/<project>/memory/ です。git リポジトリ単位で決まるため、同じリポジトリの worktree やサブディレクトリは 1 つのディレクトリを共有します。
- 1 つのプロジェクトだけ auto memory を止められますか?
- はい。そのプロジェクトの .claude/settings.json に autoMemoryEnabled: false を書きます。
- auto memory を止めると CLAUDE.md も読まれなくなりますか?
- いいえ。CLAUDE.md は別の仕組みで、autoMemoryEnabled の影響を受けません。
参考にした一次情報
この記事は公式ドキュメントを基に AI が下書きを作成し、運営者が内容を確認して公開しています。誤りを見つけた場合は お問い合わせからお知らせください。