Claude Codeのメモリ(記憶機能)を更新・管理したいけど、方法がわからない…本記事では、Claude Codeのメモリ機能の仕組みと、更新・管理方法を詳しく解説します。
Claude Codeのメモリとは
メモリ機能の概要
Claude Codeには、プロジェクトやユーザーの情報を記憶する機能があります:
- CLAUDE.md:プロジェクト固有の指示・ルール
- セッション履歴:過去の会話履歴
- ユーザー設定:個人の設定・プリファレンス
メモリの保存場所
# グローバル設定(ユーザー共通)
~/.claude/
├── settings.json # ユーザー設定
├── CLAUDE.md # グローバル指示
└── sessions/ # セッション履歴
# プロジェクト固有
./CLAUDE.md # プロジェクトルート
./.claude/ # プロジェクト設定
メモリの更新方法
1. CLAUDE.mdの更新
グローバルメモリの更新:
# グローバルCLAUDE.mdを編集
code ~/.claude/CLAUDE.md
# または
nano ~/.claude/CLAUDE.md
# 例:コーディングスタイルの追加
echo "
## コーディングスタイル
- TypeScriptを優先
- ESLint/Prettierルールに従う
- 日本語コメント推奨
" >> ~/.claude/CLAUDE.md
プロジェクトメモリの更新:
# プロジェクトルートにCLAUDE.mdを作成/編集
code ./CLAUDE.md
# 内容例
cat << 'EOF' > ./CLAUDE.md
# プロジェクト設定
## 技術スタック
- Next.js 14
- TypeScript
- Tailwind CSS
## 命名規則
- コンポーネント: PascalCase
- 関数: camelCase
- 定数: UPPER_SNAKE_CASE
## テスト
- Jest + React Testing Library
- テストファイルは __tests__ ディレクトリに配置
EOF
2. セッション履歴の更新
# セッション一覧を確認
claude --list-sessions
# 特定のセッションを再開
claude --resume <session-id>
# セッション履歴をクリア
claude --clear-history
# 特定のセッションを削除
rm -rf ~/.claude/sessions/<session-id>
3. ユーザー設定の更新
# 設定を表示
claude config list
# 設定を更新
claude config set <key> <value>
# 例:デフォルトモデルを変更
claude config set model claude-sonnet-4-20250514
# 設定をリセット
claude config reset
メモリのバージョン管理
CLAUDE.mdをGitで管理
# プロジェクトのCLAUDE.mdをコミット
git add CLAUDE.md
git commit -m "Update Claude Code memory settings"
# 変更履歴を確認
git log --oneline CLAUDE.md
# 以前のバージョンに戻す
git checkout <commit-hash> -- CLAUDE.md
バックアップの作成
# グローバル設定のバックアップ
cp -r ~/.claude ~/.claude.backup.$(date +%Y%m%d)
# 圧縮バックアップ
tar -czvf claude-backup-$(date +%Y%m%d).tar.gz ~/.claude
# 復元
tar -xzvf claude-backup-20240101.tar.gz -C ~/
メモリの同期と共有
チーム間での共有
# CLAUDE.mdをリポジトリに含める
# .gitignoreに含めない
# チーム共通のルールを記述
cat << 'EOF' > ./CLAUDE.md
# チーム開発ルール
## コードレビュー
- PRは必ず1人以上のレビューを受ける
- CIが通ってからマージ
## ブランチ戦略
- main: 本番環境
- develop: 開発環境
- feature/*: 機能開発
EOF
git add CLAUDE.md
git commit -m "Add team Claude Code settings"
git push
複数マシン間での同期
# Dropbox/iCloudを使用した同期
ln -s ~/Dropbox/.claude ~/.claude
# または、dotfilesリポジトリで管理
# ~/.dotfiles/claude/ を作成してシンボリックリンク
メモリのリセットと初期化
部分的なリセット
# セッション履歴のみクリア
rm -rf ~/.claude/sessions/*
# 特定のプロジェクト設定をリセット
rm -rf ./.claude
rm ./CLAUDE.md
完全リセット
# すべてのClaude Code設定をリセット
rm -rf ~/.claude
# 再初期化
claude init
メモリ関連のトラブルシューティング
メモリが反映されない
# 1. CLAUDE.mdの場所を確認
ls -la ./CLAUDE.md
ls -la ~/.claude/CLAUDE.md
# 2. 構文エラーがないか確認
# マークダウンの形式が正しいか
# 3. Claude Codeを再起動
# 新しいセッションを開始
claude
# 4. キャッシュをクリア
claude --clear-cache
メモリ容量の問題
# メモリ使用量を確認
du -sh ~/.claude/
# 古いセッションを削除
find ~/.claude/sessions -mtime +30 -delete
# ログファイルをクリア
rm -f ~/.claude/*.log
設定の競合
# グローバルとプロジェクトの優先順位
# プロジェクトのCLAUDE.md > グローバルの~/.claude/CLAUDE.md
# 競合を解決
# プロジェクト固有の設定はプロジェクトのCLAUDE.mdに
# 共通設定はグローバルに配置
高度なメモリ管理
環境別の設定
# 開発環境用
cat << 'EOF' > ./CLAUDE.dev.md
# 開発環境設定
- デバッグログを有効化
- テストを詳細に実行
EOF
# 本番環境用
cat << 'EOF' > ./CLAUDE.prod.md
# 本番環境設定
- パフォーマンスを重視
- エラーハンドリングを厳格に
EOF
# 環境変数で切り替え
export CLAUDE_CONFIG=./CLAUDE.dev.md
自動更新スクリプト
#!/bin/bash
# メモリ設定の自動更新スクリプト
CLAUDE_DIR="$HOME/.claude"
BACKUP_DIR="$CLAUDE_DIR/backups"
# バックアップ作成
mkdir -p "$BACKUP_DIR"
cp "$CLAUDE_DIR/CLAUDE.md" "$BACKUP_DIR/CLAUDE.md.$(date +%Y%m%d)"
# 古いバックアップを削除(30日以上前)
find "$BACKUP_DIR" -mtime +30 -delete
# 設定を更新(例:日付を追加)
echo "# Last updated: $(date)" >> "$CLAUDE_DIR/CLAUDE.md"
echo "Memory updated successfully"
メモリテンプレート
# プロジェクトテンプレートを作成
mkdir -p ~/.claude/templates
cat << 'EOF' > ~/.claude/templates/nextjs-project.md
# Next.js プロジェクト設定
## 技術スタック
- Next.js 14 (App Router)
- TypeScript
- Tailwind CSS
- Prisma
## ディレクトリ構造
- src/app/: ページコンポーネント
- src/components/: 共通コンポーネント
- src/lib/: ユーティリティ
## コマンド
- npm run dev: 開発サーバー
- npm run build: ビルド
- npm run test: テスト実行
EOF
# 新規プロジェクトで使用
cp ~/.claude/templates/nextjs-project.md ./CLAUDE.md
まとめ
Claude Codeのメモリ管理ポイント:
操作 | 方法 |
|---|---|
グローバル設定 |
|
プロジェクト設定 |
|
セッション管理 |
|
バックアップ |
|
リセット |
|
チーム共有 | CLAUDE.mdをGitで管理 |
メモリを適切に管理することで、Claude Codeをより効率的に活用できます。