Claude Code の memory

セッションをまたいで知識を持ち越す仕組み。2系統あり、両方とも毎セッション冒頭にコンテキストとして読み込まれる。ただし強制設定ではなく「文脈」扱いなので100%遵守は保証されない(必ず実行させたい挙動は hook に寄せる)。

CLAUDE.mdAuto memory
誰が書く自分Claude 自身
中身指示・ルール学習した知見・パターン
読み込み毎セッション全文先頭200行 or 25KB まで

① CLAUDE.md(自分で書く) — 置き場所は広い→狭いの順に連結:

  • ~/.claude/CLAUDE.md(全プロジェクト共通の個人設定)
  • ./CLAUDE.md or ./.claude/CLAUDE.md(Git管理=チーム共有)
  • ./CLAUDE.local.md(.gitignoreする個人用)

書き方: 200行以内・具体的に(「綺麗に」ではなく「2スペース」)・矛盾を置かない。大きくなったら .claude/rules/(paths: でファイル限定可)に分割。/init で雛形生成、チャットの # 〜 で手軽に追記。

② Auto memory(Claude が勝手に貯める) — v2.1.59以降デフォルトON。~/.claude/projects/<project>/memory/ に保存(MEMORY.md が索引、詳細は別ファイル)。同リポジトリの全 worktree で共有・マシンローカル。/memory で一覧/ON-OFF/編集。

使い分け: 強制したい挙動→hook / 常時効かせる規約→CLAUDE.md / 特定ファイルだけ→.claude/rules/ / オンデマンドの手順→skill / 自動学習→auto memory。

核心: CLAUDE.md は system prompt ではなく後続の “user message” として注入されるため拘束力が弱い。絶対遵守は hook(決定論的に動く)で担保する。/compact 後もルートの CLAUDE.md はディスクから再読込されて残る。

出典: https://code.claude.com/docs/en/memory