.claude フォルダを別の場所へ移す方法CLAUDE_CONFIG_DIR と VS Code の落とし穴.claude は CLAUDE_CONFIG_DIR 環境変数で別ドライブ・別フォルダへ移せます(Cドライブの容量対策にも有効)。ただし VS Code 拡張は現状この変数を無視します(既知のバグ)。だから CLI では今日から移せますが、VS Code 統合ターミナルで使っている人は効きません。
.claude は、Claude Code が設定・認証情報・会話の履歴・セッションの記録をためる場所です。既定では、ホームディレクトリの下(Windows なら C:\Users\<ユーザー名>\.claude、macOS/Linux なら ~/.claude)に作られます。
これを別の場所に移したい理由は、だいたい次のどれかです。
.claude が育って容量を圧迫している(長時間使うと数GBになります)公式の仕組みとして、CLAUDE_CONFIG_DIR という環境変数があります。これを設定すると、本来 ~/.claude に置かれるものが、すべて指定したフォルダの下に移ります(公式ドキュメント)。
# 一時的に(このセッションだけ)
$env:CLAUDE_CONFIG_DIR = "D:\claude-config"
# 恒久的に(ユーザー環境変数に登録)
[Environment]::SetEnvironmentVariable("CLAUDE_CONFIG_DIR", "D:\claude-config", "User")
# ~/.bashrc または ~/.zshrc に追記
export CLAUDE_CONFIG_DIR="$HOME/data/claude-config"
設定したら、既存の ~/.claude の中身を新しい場所へコピー(または移動)してから Claude Code を起動します。認証は移行後にやり直しになることがあるので、一度ログインし直してください。
CLAUDE_CONFIG_DIR を無視します(Issue #30538)。シェルで export しても、VS Code の claudeCode.environmentVariables に書いても、拡張側には反映されません。VS Code 統合ターミナルから claude を直接起動する場合に効くことはありますが、拡張のUIから使う経路では効かない、という食い違いがあります。素の CLI(普通のターミナル)で使うのが、今のところ確実です。
| 挙動 | 参照 |
|---|---|
VS Code 拡張が CLAUDE_CONFIG_DIR を無視する | #30538 |
変数を設定しても、各ワークスペースに .claude/ が作られることがある | #3833 |
/ide コマンドが、変数設定時に IDE を検出できないことがある | #4739 |
つまり、CLAUDE_CONFIG_DIR は「移すための正式な仕組み」ですが、コンポーネントによって効き方にムラがあります。UIから第一級の設定として選べるようにしてほしい、という要望が出ているのは、こうした食い違いが理由です。
.claude の置き場所を気にする人の多くは、セキュリティを心配しています。ここは切り分けが大事です。
グローバルの ~/.claude に入っているのは、おもにあなた自身の認証情報・設定・履歴です。だから、これを別ドライブへ移すのは「権限とドライブの衛生」の話で、外部からの攻撃の話ではありません。置き場所を変えても、守るべきは「そのフォルダを誰が読めるか」です。
外部のコードからの本当の攻撃面は、別のところにあります。プロジェクトの中の .claude/settings.json と .mcp.json です。これらは、クローンしてきたリポジトリが同梱でき、「このフォルダを信頼」を押した瞬間に、hook の自動実行・API キーの送信先の書き換え(ANTHROPIC_BASE_URL)・MCP サーバの起動を許可してしまいます(CVE-2025-59536 / CVE-2026-21852)。
つまり、グローバルの置き場所とプロジェクトの設定は、別の問題として扱うのが正解です。前者は衛生、後者は「信頼する前に中身を読む」べき攻撃面です。
.claude/settings.json が安全かどうかを、信頼する前に貼り付けて確認できる無料ツールを用意しています。.claude は CLAUDE_CONFIG_DIR で別ドライブ・別フォルダへ移せる(Cドライブの容量対策にも有効)。~/.claude の置き場所は「権限とドライブの衛生」の話。.claude/settings.json / .mcp.json(CVE-2025-59536 / CVE-2026-21852)。信頼する前に中身を読む。