Claude Code Mac間移行の手引き | チャット履歴を失わずに新マシンへ引っ越す方法
こんにちは!エノカワです。
先日、MacBookを新しいマシンに移行する機会がありました。
その際、開発環境とともにClaude Codeで作業していたフォルダも新しいMacに移行しました。
しかし、新しいMacでClaude Codeを起動すると、チャット履歴が空になっており、旧Macでの作業履歴が引き継がれていないことに気づきました。
はじめに
この記事では、Mac間でClaude Codeの設定とチャット履歴を完全に移行する方法をご紹介します。
以下のような状況でお困りの方は、ぜひ参考にしてみてください。
- Claude Codeのチャット履歴が新しいMacに引き継がれない
- プロジェクトごとの設定や文脈を保持したい
実行環境
今後のバージョンアップによって仕様が変更される可能性があるため、この記事執筆時点での環境を明記しておきます。
- Claude Code: 1.0.98
- macOS: Sequoia 15.6.1
Claude Codeのファイル構成
まずは、Claude Codeがどのようにデータを管理しているか確認してみましょう。
一般的にClaude Codeは以下のディレクトリ構造でデータを管理しています。
~/.claude/
├── settings.json # ユーザー設定
├── CLAUDE.md # グローバルユーザー設定
├── projects/ # プロジェクト別のチャット履歴
│ └── -path-to-project/ # パスがエンコードされたディレクトリ
│ └── *.jsonl # プロジェクト固有の履歴ファイル
├── agents/ # ユーザーレベルのサブエージェント
├── ide/ # IDE関連の設定
├── plugins/ # プラグイン
├── shell-snapshots/ # シェルのスナップショット
├── statsig/ # 統計情報
└── todos/ # Todoリストの履歴
プロジェクト設定ファイル
プロジェクトごとの設定は、各プロジェクトディレクトリ内に保存されます。
<プロジェクトディレクトリ>/
├── .claude/
│ ├── settings.json # チームで共有する設定
│ ├── settings.local.json # 個人用設定
│ ├── agents/ # プロジェクト固有のサブエージェント
│ └── commands/ # カスタムコマンド
├── CLAUDE.md # プロジェクト固有のコンテキスト
└── .mcp.json # MCP設定(使用している場合)
移行対象ファイル
ここからが本題です。
移行時に必要なファイルは以下のとおりです。
必須ファイル
~/.claude/projects/
- プロジェクト別のチャット履歴が保存されているディレクトリ
- 各プロジェクトのパスがエンコードされたディレクトリ内に.jsonl形式で保存
- 例:
/Users/username/project
→-Users-username-project
~/.claude/settings.json
- 個人の設定ファイル(モデル選択、権限設定、環境変数など)
推奨ファイル
-
プロジェクト内の
.claude/
ディレクトリ- プロジェクト固有の設定
settings.json
:チームで共有する設定settings.local.json
:個人用設定agents/
:プロジェクト固有のサブエージェントcommands/
:カスタムコマンド
-
~/.claude/todos/
- Todoリストの履歴(タスク管理を使用している場合)
オプション
-
~/.claude/agents/
- ユーザーレベルのサブエージェント設定(使用している場合)
-
~/.claude/CLAUDE.md
- グローバルユーザー設定(作成している場合)
-
~/.claude/ide/
- IDE関連の設定や状態
-
~/.claude/shell-snapshots/
- シェルのスナップショット
- コマンド履歴や状態を保持
-
~/.claude/plugins/
- プラグイン設定(使用している場合)
移行手順
1. 旧Macでのバックアップ作成
まずは旧Mac側でバックアップを作成します。
# 1. Claude Codeのディレクトリ全体をアーカイブ
cd ~
tar -czf claude-backup.tar.gz .claude/
# 2. プロジェクト設定がある場合は個別にバックアップ
# 例:開発プロジェクトがある場合
cd ~/development/my-project
tar -czf project-claude-settings.tar.gz .claude/ CLAUDE.md .mcp.json 2>/dev/null
2. バックアップファイルの転送
次に、作成したバックアップファイルを新しいMacに転送します。
AirDrop、USBドライブ、クラウドストレージなど、お好みの方法でファイルを転送してください。
3. 新しいMacへの復元
新しいMac側で、転送したバックアップを展開します。
# 1. Claude Codeをインストール(まだの場合)
npm install -g @anthropic-ai/claude-code
# 2. 既存の.claudeディレクトリをバックアップ(念のため)
if [ -d ~/.claude ]; then
mv ~/.claude ~/.claude.backup
fi
# 3. バックアップを展開
cd ~
tar -xzf claude-backup.tar.gz
# 4. プロジェクト設定を復元(該当する場合)
cd ~/development/my-project
tar -xzf project-claude-settings.tar.gz
4. 動作確認
最後に、移行が正しく完了したか確認します。
# 1. Claude Codeを起動
claude
# 2. 設定を確認
claude config list
# 3. 過去のチャット履歴が表示されることを確認
# プロジェクトディレクトリで起動して履歴を確認
cd ~/development/my-project
claude --continue
トラブルシューティング
認証エラーが発生する場合
移行後に認証エラーが発生した場合は、再ログインが必要です。
# Claude Codeに再ログイン
claude login
認証情報はClaude Code内部で管理されており、マシンを変更した場合は再ログインが必要になることがあります。
チャット履歴が表示されない場合
移行したはずのチャット履歴が表示されない場合には、以下を確認してください。
# projectsディレクトリの存在を確認
ls -la ~/.claude/projects/
# プロジェクト履歴のパスエンコーディングを確認
# 例:/Users/username/project → -Users-username-project
# 各プロジェクトディレクトリ内に.jsonlファイルが存在するか確認
ls -la ~/.claude/projects/-Users-username-project/*.jsonl
設定が反映されない場合
個人設定が反映されていないように見える場合には、設定の優先順位を確認しましょう。
- エンタープライズ管理ポリシー
- コマンドライン引数
- ローカルプロジェクト設定(
.claude/settings.local.json
) - 共有プロジェクト設定(
.claude/settings.json
) - ユーザー設定(
~/.claude/settings.json
)
# 現在の設定値を確認
claude config get <key>
# 必要に応じて設定を更新
claude config set <key> <value>
まとめ
以上、Claude CodeをMac間で完全移行する方法を紹介しました。
Claude Codeの移行は、適切なファイルをバックアップ・復元することで、スムーズに行うことができます。
特に重要なポイントは以下の点です。
~/.claude/
ディレクトリ全体をバックアップすることで、ほぼすべての設定と履歴を保持できる- プロジェクト固有の設定(
.claude/
、CLAUDE.md
)も忘れずに移行する - 定期的なバックアップを取ることで、将来の移行や障害に備える
実際にこの手順を試したところ、新しいMacでも以前と全く同じ環境でClaude Codeを使い続けることができました。
チャット履歴も完全に引き継がれ、プロジェクトごとの文脈も保持されたため、作業の継続性が保たれました。
今後、Claude Codeに公式の移行ツールが提供されることを期待しつつ、現時点で実行可能な移行手順のご紹介でした。