Claude Code を業務で使い始めると、「前に言ったことを覚えていてくれた」場面に出会います。これは Claude が会話の中で得た前提や指摘を、ユーザーが何も書かなくても自分で記録する「自動メモリ(auto memory)」の働きです。便利な一方で、情報システムや業務改善の担当者からは「何が、どこに、いつまで残るのか」「退職者の端末に何が残るのか」という質問が必ず出ます。
この記事では、Claude Code の公式ドキュメント(2026年11月1日取得)だけを出典に、自動メモリの仕組みを「記録される内容・保存先と共有範囲・環境ごとの既定値・止め方と置き場所・棚卸しと消し方」の順に整理します。読者は、社内の数人〜数十人に Claude Code を配る立場の担当者を想定しています。設定の雛形、棚卸しの手順、失敗パターン、セルフチェックリストを付けました。
サブエージェントに持たせる記憶(memory フィールド)は、サブエージェントの記憶と隔離に分けて書きました。この記事は、メインの会話が自分で書く自動メモリに絞ります。
結論 — 先に要点だけ
- 自動メモリは既定でオン。 ローカルのセッションでは何もしなくても記録が始まる。自社ホストの環境では既定でオフ
- 記録される内容は4種類。 役割と好み(user)、指摘と承認(feedback)、進行中の仕事と決定(project)、情報の在りか(reference)
- 保存先は端末の中。
~/.claude/projects/<project>/memory/に平文の Markdown で残り、別のマシンやクラウド環境とは共有されない - 自動では消えない。 セッション記録の自動削除(既定30日)の対象外。人か Claude が消すまで残る
- 会社で決めるのは5つ。 使うか、置き場所、書かせないもの、棚卸しの担当と頻度、退職時の消し方
自動メモリとは何か — CLAUDE.md との違い
Claude Code のセッションは毎回まっさらな文脈から始まります。会話をまたいで知識を持ち越す仕組みは2つあり、公式ドキュメントは次のように対比しています。
| CLAUDE.md | 自動メモリ | |
|---|---|---|
| 誰が書くか | 人 | Claude |
| 中身 | 指示とルール | 学びとパターン |
| 範囲 | プロジェクト・ユーザー・組織 | リポジトリ単位(worktree 間で共有) |
| 読み込み | 毎セッション | 毎セッション(先頭200行または25KB) |
| 向く用途 | コーディング規約・手順・設計 | 好み・指摘・コードから導けない前提 |
※ 出典: Claude Code Docs — How Claude remembers your project(CLAUDE.md vs auto memory)(取得 2026-11)
どちらも「文脈」であって、強制される設定ではありません。公式ドキュメントは、Claude の判断に関わらず動作を止めたいなら PreToolUse フックを使うよう明記しています。この前提は、後で述べる「記憶に書かせない」の設計に直結します。
記録される4種類
Claude は記憶ファイルの frontmatter に type として種類を記録します。
| type | 中身 | 会社で気にする点 |
|---|---|---|
user | 役割・専門・作業の好み | 担当者の個人情報に近い内容が残る |
feedback | 指摘と、承認した進め方 | 社内の判断基準が端末に蓄積する |
project | 進行中の仕事・期限・コードから導けない決定 | 案件名や取引先が書かれうる |
reference | 課題管理やダッシュボードなど情報の在りか | 社内システムの URL が残りうる |
※ 出典: Claude Code Docs — How Claude remembers your project(Auto memory)(取得 2026-11)
公式ドキュメントによれば、Claude は「コードベースから導けること(構成・ファイルパス・デバッグの修正)」と「CLAUDE.md に既に書いてあること」は記録しません。毎セッション何かを保存するわけでもなく、将来の会話で役立つかどうかで判断します。裏返すと、会話に出た顧客名や取引先の事情は「コードから導けない前提」として記録される可能性があります。
どこに残り、どう読まれるか
| 項目 | 公式ドキュメントの記述 |
|---|---|
| 保存先 | ~/.claude/projects/<project>/memory/。<project> は git リポジトリから導かれ、同じリポジトリの worktree・サブディレクトリは1つの記憶ディレクトリを共有。git 外ではプロジェクトルート |
| 構成 | 索引の MEMORY.md と、話題ごとの個別ファイル(user_role.md など) |
| 読み込み | MEMORY.md の先頭200行または25KB(先に達した方)を毎セッション開始時に読む。個別ファイルは必要なときに読む |
| 共有範囲 | 機械ローカル。別のマシンやクラウド環境とは共有されない |
| 保持 | セッション記録の自動削除(cleanupPeriodDays・既定30日)の対象外。人か Claude が編集・削除するまで残る |
| 時刻 | frontmatter 付きの記憶ファイルには、書き込み時刻が modified に ISO 8601 で記録される |
※ 出典: Claude Code Docs — How Claude remembers your project(Storage location / How it works)(取得 2026-11) ※ 出典: Claude Code Docs — The .claude directory(Cleaned up automatically)(取得 2026-11)
会社の観点で重要なのは3点です。第一に、記憶は平文の Markdown で、保護は OS のファイル権限だけです。公式ドキュメントはセッション記録について「保存時に暗号化されない」と書いており、記憶ファイルも同じ projects/ の下にあります。第二に、記憶は端末に閉じているので、同僚の Claude Code には伝わりません。チームで共有したい前提は CLAUDE.md に書く必要があります。第三に、MEMORY.md の先頭は毎セッションの文脈に入るため、そこに書かれた内容は会話の一部として扱われます。
環境ごとの既定値
どこで動かすかによって、自動メモリの既定値と切り替えの可否が変わります。
| 環境 | 既定 | 切り替え |
|---|---|---|
| ローカルのセッション | オン | /memory で切り替え可 |
| 自社ホストの環境(Claude Tag のセッションを除く) | オフ | 持ち越したい指示はランナーイメージかリポジトリの CLAUDE.md に書く |
| バックグラウンドセッション | オフにはできるが、そこからオンには戻せない | 端末で直接 claude を起動した側で戻す |
別の Claude Code が起動したセッション(Bash から claude を実行した場合など) | 同上 | 同上 |
※ 出典: Claude Code Docs — How Claude remembers your project(Enable or disable auto memory)(取得 2026-11) ※ 出典: Claude Code Docs — Self-hosted environments configuration(取得 2026-11)
自社ホストの環境については、公式ドキュメントに補足があります。ランナーがホストの ~/.claude/ を写し取るとき projects/ ディレクトリは含めないため、そこに記憶ファイルを置いてもセッションには持ち込まれず、自動メモリがオンになることもありません。
会社で先に決める5つのこと
1. 使うか、使わないか
既定はオンなので、「決めない」は「使う」と同じです。止める方法は3つあり、効く範囲が違います。
| 方法 | 書く場所 | 効く範囲 |
|---|---|---|
/memory の切り替え | ユーザー設定 ~/.claude/settings.json に autoMemoryEnabled として保存 | その人の全プロジェクト |
"autoMemoryEnabled": false | 任意の設定ファイル(ユーザー・プロジェクト・ローカル・管理設定) | 書いた設定ファイルの範囲 |
CLAUDE_CODE_DISABLE_AUTO_MEMORY=1 | 環境変数 | そのセッション |
※ 出典: Claude Code Docs — Settings reference(autoMemoryEnabled)(取得 2026-11) ※ 出典: Claude Code Docs — Environment variables(取得 2026-11)
設定リファレンスは autoMemoryEnabled のスコープを「Any file」としています。つまり、会社が配る管理設定からも指定できます。一方で同じ項目に、環境変数 CLAUDE_CODE_DISABLE_AUTO_MEMORY が「どちらの方向にも、そのセッションに限ってこのキーより優先する」とあります。環境変数のページにも、0 を設定すると --bare や autoMemoryEnabled: false で無効になる場面でも強制的にオンにできる、と書かれています。会社として止めたい場合は、設定だけに頼らず、次の「3. 書かせないもの」も併用しておくのが安全です。
判断の目安は次のとおりです。
- 使う: 開発チームが同じリポジトリを継続して触る。指摘の蓄積で手戻りが減る見込みがある
- プロジェクト単位で止める: 顧客データや個人情報を扱うリポジトリ。
.claude/settings.jsonにfalseを書いてコミットする - 全社で止める: 端末の棚卸しを運用に組み込めない段階。管理設定で
falseにし、棚卸しの体制ができたら戻す
2. 置き場所
既定の保存先は ~/.claude/projects/<project>/memory/ ですが、autoMemoryDirectory で変えられます。値は絶対パスか ~/ で始まるパスで、ユーザー・プロジェクト・ローカル・管理設定・--settings のどのスコープからも読まれます。
置き場所を変える主な動機は2つあります。1つは、端末のバックアップや暗号化ボリュームの対象に記憶を入れること。もう1つは、1台の端末を複数の案件や複数のアカウントで使い分けることです。後者は CLAUDE_CONFIG_DIR と CLAUDE_CODE_PROJECT_DIR_NAME を組み合わせると、設定ディレクトリごとに記録と記憶を分けられます。
CLAUDE_CONFIG_DIR=/srv/tenant-a CLAUDE_CODE_PROJECT_DIR_NAME=work claude
この起動では、セッション記録が /srv/tenant-a/projects/work/、自動メモリが /srv/tenant-a/projects/work/memory/ に書かれます。作業ディレクトリがどこであっても同じ場所です。
※ 出典: Claude Code Docs — Sessions(Name the project directory yourself)(取得 2026-11) ※ 出典: Claude Code Docs — Settings reference(autoMemoryDirectory)(取得 2026-11)
注意点が1つあります。リポジトリ側の設定(.claude/settings.json、またはリポジトリ由来と扱われる .claude/settings.local.json)が autoMemoryDirectory を指定していて、かつ permissions.blockReadsOutsideWorkingDirectories がオンの場合、Claude Code はそのディレクトリから記憶を読まず、書きもしません。クローンしたリポジトリが勝手に記憶の置き場所を決められないようにする設計です。会社として置き場所を固定したいなら、リポジトリではなくユーザー設定か管理設定に書きます。
3. 書かせないもの
自動メモリは Claude が判断して書くものなので、「書くな」を強制する設定はありません。代わりに、次の3層で守ります。
| 層 | やること | 効き方 |
|---|---|---|
| 会話に入れない | .env や顧客リストを permissions.deny の Read(...) で読ませない | Claude Code が強制 |
| 記録しないよう指示 | CLAUDE.md に「顧客名・連絡先・認証情報・取引条件は記憶に残さない」と書く | Claude が従おうとする |
| 残っても見つける | /memory で記憶フォルダを開き、modified の時刻を見て棚卸しする | 人の運用 |
1層目が最も確実です。会話に入らなかった情報は記憶にも書かれません。権限ルールの書き方は社内ルールの作り方で整理しています。
4. 棚卸しの担当と頻度
記憶は自動では消えないので、担当者と頻度を決めないと増え続けます。公式ドキュメントは /memory から記憶フォルダを開いて「読む・編集する・削除する」ことを案内しており、どれも平文の Markdown に対する通常のファイル操作です。
目安として、顧客データを扱うリポジトリは月1回、それ以外は四半期に1回、担当者が MEMORY.md を開いて確認する運用が組みやすいでしょう。頻度そのものは会社の判断です。
5. 退職・端末返却時の消し方
claude purge は、1つのプロジェクトについて Claude Code が端末に持つ状態をまとめて削除します。削除対象は、projects/ 配下のセッション記録と自動メモリ、セッションごとのタスク・デバッグ・ファイル履歴、history.jsonl の該当プロンプト、~/.claude.json のプロジェクト項目です。
claude purge ~/work/my-repo --dry-run # 削除計画だけ表示
claude purge ~/work/my-repo # 確認のうえ削除
claude purge --all --yes # 全プロジェクト・確認なし(スクリプト用)
※ 出典: Claude Code Docs — The .claude directory(Clear local data)(取得 2026-11)
公式ドキュメントが注意している残り物があります。貼り付けた画像やスクラッチパッドは一時ディレクトリにあるため purge では消えません。/heapdump を実行したことがあれば、会話全体と認証情報を含むヒープスナップショットが残り、自動削除も purge も触りません。端末返却の手順にはこれらも入れておきます。
社内でこの5点を自分たちで決めて設定に落とす場合の進め方は、企業向けの有料の実務書にもまとめています。
設定の雛形
顧客データを扱うリポジトリで止める(プロジェクト設定・コミットする)
{
"autoMemoryEnabled": false,
"permissions": {
"deny": [
"Read(./.env)",
"Read(./.env.*)",
"Read(./data/customers/**)"
]
}
}
.claude/settings.json に置きます。同じキーのリストはファイル間で結合されるので、個人の allow がこの deny を外すことはありません。
使うが置き場所を固定する(ユーザー設定または管理設定)
{
"autoMemoryDirectory": "~/claude-memory",
"cleanupPeriodDays": 14
}
cleanupPeriodDays はセッション記録の保持日数で、記憶ファイルには効きません。記録と記憶の保持方針を別々に決めていることが伝わるよう、社内文書には「記憶は手動で棚卸し」と併記します。
CLAUDE.md に書く一文
## 記憶に残さないもの
- 顧客名・担当者名・連絡先・取引条件・認証情報は、自動メモリに記録しない
- 記録してよいのは、このリポジトリの作業の進め方への指摘と、社内ツールの在りかだけ
※ 出典: Claude Code Docs — Settings reference(cleanupPeriodDays / permissions)(取得 2026-11)
棚卸しの手順(月次)
- セッションで
/memoryを開き、自動メモリの切り替えが意図どおり(オン/オフ)か確認する - 記憶フォルダを開き、
MEMORY.mdの索引を上から読む - 顧客名・連絡先・認証情報・取引条件があれば、その行と個別ファイルを削除する
modifiedが古く、今の仕事に関係ない項目は削除するか、CLAUDE.md に昇格させる- 索引が200行または25KBに近いと Claude Code が短縮を促すので、1行1項目に整える
- 棚卸しの日付と担当者を社内の台帳に残す
/context を使うと、そのセッションで読み込まれた CLAUDE.md とルールの一覧を確認できます。記憶と指示の両方を同じタイミングで見直すと漏れが減ります。
※ 出典: Claude Code Docs — CLI commands(/memory)(取得 2026-11)
失敗パターン 5つ
- 「管理設定で止めたから大丈夫」 — 環境変数
CLAUDE_CODE_DISABLE_AUTO_MEMORY=0が設定キーより優先すると公式ドキュメントに書かれている。止める根拠を設定だけに置かない - チームで共有したい前提を記憶に頼る — 記憶は端末に閉じている。同僚には伝わらないので、共有する前提は CLAUDE.md に書く
- 退職時にリポジトリだけ消す — 記憶は
~/.claude/projects/の下にある。リポジトリを削除しても残る - リポジトリ設定で置き場所を変えたのに記憶が増えない —
permissions.blockReadsOutsideWorkingDirectoriesがオンだと、リポジトリ由来のautoMemoryDirectoryは読み書きされない - 自社ホストの環境で「覚えていない」と困る — 自社ホストでは既定でオフ。持ち越す指示は CLAUDE.md に書く
導入前セルフチェックリスト(12項目)
- 自動メモリが既定でオンであることをチームに周知した
- 顧客データを扱うリポジトリで、使うか止めるかを決めた
- 止める場合、設定ファイルのどのスコープに書くかを決めた
- 環境変数で上書きできることを把握し、運用ルールに書いた
- 記憶の置き場所を既定のままにするか、変えるかを決めた
- 置き場所を変える場合、リポジトリ設定ではなくユーザー設定か管理設定に書いた
- 鍵・個人情報のファイルを
permissions.denyで読ませない設定にした - CLAUDE.md に「記憶に残さないもの」を書いた
- 棚卸しの担当者と頻度を決めた
- 退職・端末返却の手順に
claude purgeと一時ディレクトリの確認を入れた -
/heapdumpを使ったことがあるか確認し、あれば削除手順を入れた - 自社ホスト環境を使う場合、既定でオフであることを前提に CLAUDE.md を整えた
公式ドキュメント・リソース集
- How Claude remembers your project — 自動メモリの4種類・保存先・読み込みの上限・切り替え
- Settings reference —
autoMemoryEnabled・autoMemoryDirectory・cleanupPeriodDays・permissions.blockReadsOutsideWorkingDirectories - Environment variables —
CLAUDE_CODE_DISABLE_AUTO_MEMORY・CLAUDE_CONFIG_DIR・CLAUDE_CODE_PROJECT_DIR_NAME - The .claude directory — 自動削除の対象、平文保存、
claude purge - Managed settings — 会社が全端末に配る設定の置き場所と優先順位
- Custom subagents — メインの記憶がサブエージェントに渡らないこと、
memoryフィールド - Data usage — セッション記録の保持と、端末内キャッシュの扱い
よくある質問
Q. 自動メモリの内容は、同じ会社の別の社員の Claude Code にも共有されますか?
されません。公式ドキュメントは自動メモリを「機械ローカル」と明記しており、ファイルは別のマシンやクラウド環境と共有されません。同じリポジトリの中では worktree やサブディレクトリをまたいで1つの記憶ディレクトリを共有しますが、それも同じマシンの同じユーザーの話です。チームで共有したい前提は、自動メモリではなくリポジトリの CLAUDE.md に書きます。
Q. 自動メモリは放っておけば自動で消えますか?
消えません。Claude Code はセッションの記録を保持期間(既定30日)で自動削除しますが、公式ドキュメントは記憶ディレクトリのファイルをその対象から除外しています。人か Claude が編集・削除するまで残ります。退職や端末の返却のときは、/memory で中身を確認して消すか、claude purge でプロジェクト単位の記録と記憶をまとめて削除します。
※ 出典: Claude Code Docs — The .claude directory(Cleaned up automatically)(取得 2026-11)
Q. 会社として自動メモリを使わせたくない場合、どこで止めればよいですか?
3つの方法があります。セッション内の /memory の切り替え(ユーザー設定に保存)、設定ファイルの autoMemoryEnabled を false にする方法、環境変数 CLAUDE_CODE_DISABLE_AUTO_MEMORY=1 です。autoMemoryEnabled は管理設定を含むどの設定ファイルからも指定できます。ただし公式ドキュメントは、環境変数がこのキーより優先するとも書いているので、止める根拠を1つに頼らず、CLAUDE.md で「記憶に残さないもの」も併せて指示しておきます。
Q. 自動メモリに顧客情報や鍵が書き込まれることはありますか?
公式ドキュメントは、Claude がコードから導ける内容や CLAUDE.md に既にある内容は記録しないと説明していますが、会話に出た情報を記録しないとは書いていません。記憶ファイルは平文の Markdown です。対策は、鍵や個人情報のファイルを permissions.deny で読ませない(会話に入れない)こと、CLAUDE.md に「顧客名・連絡先・認証情報は記憶に残さない」と書くこと、/memory で定期的に中身を見ることの3つです。
Q. サブエージェントは、メインの会話の記憶を読みますか?
読みません。公式ドキュメントは、メインの会話の自動メモリはサブエージェントに読み込まれないと明記しています。例外は、親の会話をそのまま引き継ぐフォークだけです。サブエージェントに記憶を持たせたいときは定義ファイルの memory フィールドを使いますが、これも自動メモリの一部なので、自動メモリを止めると効きません。
※ 出典: Claude Code Docs — Custom subagents(What loads at startup)(取得 2026-11)
次の一歩
まず、Claude Code を使っている端末で /memory を開き、自動メモリがオンかどうかと、記憶フォルダに何が入っているかを見てください。それだけで「決めずに使っていた」状態かどうかが分かります。
次に、上の「会社で先に決める5つのこと」を1枚にまとめ、顧客データを扱うリポジトリから順に設定へ落とします。棚卸しの担当者と頻度は、設定より先に決めておくと運用が崩れません。
社内の Claude Code の配り方や、権限・記憶・サンドボックスをまとめて設計する相談は、お問い合わせからどうぞ。現状の設定ファイルと、扱うデータの種類を書いていただければ、書面で整理の方針を返します。導入支援の全体像はClaude 導入支援ハブにまとめています。
更新履歴
- 2026-11-01: 初版公開
関連ページ
- Claude Code の社内ルールの作り方【2026年10月】— フォルダ・コマンド・秘密情報を settings と CLAUDE.md で線引きする
- Claude Code サブエージェントの記憶と隔離【2026年10月】— 点検役に指摘を覚えさせ、書く役を worktree で切り離す
- Claude Code に API キーを見せずに使わせる【2026年10月】— サンドボックスの mask で隠す鍵と、会社で配る雛形
- Claude Code の法人導入ガイド【2026年9月】— 管理者が先に決める設定配布・権限・利用上限・監査
- 生成 AI の社内利用ガイドラインの作り方【2026年9月】— AI事業者ガイドライン第1.2版をそのまま使える規程テンプレに落とす
- Claude 導入支援ハブ