自動メモリシステム (/memory)
自動メモリは Claude Code v2.1.59 以上でサポートされています。
claude --versionで確認してください。
CLAUDE.md vs 自動メモリ — 何が違うのか?
| CLAUDE.md | 自動メモリ (MEMORY.md) | |
|---|---|---|
| 作成者 | 人間が直接作成 | Claudeが自ら作成 |
| 役割 | ルール・規約のガイドライン | セッションで学習した内容の記録 |
| チーム共有 | Gitにコミットして共有可能 | ローカルに保存(共有不可) |
| 保存場所 | プロジェクトルート | ~/.claude/projects/<project>/memory/ |
⚠️ 補足: 自動メモリは
MEMORY.mdで管理され、CLAUDE.mdとは完全に別のファイルです。チームメンバーと共有されるものではなく、ローカルにのみ保存される個人の知識リポジトリです。
自動メモリに保存されるもの
Claudeは作業時に自分のためにノートを保存します。ビルドコマンド、デバッグの知見、アーキテクチャメモ、コードスタイルの好み、ワークフローの習慣などが含まれます。毎セッション保存するわけではなく、将来の会話で役立つかどうかに基づいて記憶する価値があるか判断します。
保存されるもの ✅
- 「このプロジェクトではnpmの代わりにbunを使う」→ 次のセッションから自動反映
- APIコール時にcontent-typeが必須というデバッグの教訓
- アーキテクチャの決定事項、よくはまる罠と解決法
保存されないもの ❌
- 「今作業中のファイルパス」
- 「現在デバッグ中のエラーメッセージ」
- セッション内のみで意味を持つ一時的な情報
保存ファイルの構造
~/.claude/projects/<project>/memory/
├── MEMORY.md ← インデックスファイル、毎セッション自動ロード(最初の200行)
├── debugging.md ← デバッグパターンの詳細(必要なときのみロード)
├── patterns.md ← コードパターンと規約
└── api-conventions.md ← API設計に関するメモ同じGitリポジトリ内のすべてのワークツリーとサブディレクトリは一つのメモリディレクトリを共有します。
/memory コマンドの使い方
/memory現在ロードされているメモリファイルの一覧確認および自動メモリのON/OFFトグルができます。
明示的に記憶させる
Claudeに直接伝えると自動メモリに保存されます。
"このフロントエンドの規約を覚えておいて"
"常にpnpmを使うことをメモリに保存して"CLAUDE.mdに入れたい場合は明確に区別して伝える必要があります。
"この内容をCLAUDE.mdに追加して" ← CLAUDE.mdに保存
"これを覚えておいて" ← 自動メモリに保存実務のヒント
- 定期的なメモリの整理が必要: パッケージマネージャーをnpm → bunに変えたのに古いメモリにnpmが残っていると混乱を招きます。
"このメモリを消して"、"ビルド関連の内容を更新して"のように直接依頼するとClaudeがファイルを修正します。 - 自動メモリの無効化: 不要な場合は無効にできます。bash
CLAUDE_CODE_DISABLE_AUTO_MEMORY=1
💡 一言まとめ: CLAUDE.md = 私がClaudeに書く指示書 / MEMORY.md = Claudeが自ら書く学習ノート