Claude Code 設定が効かない時の確かめ方|5つの手順

この記事の要点
- 効かない原因の多くは「読み込まれていない」「別の場所から読まれた」「ほかのファイルに上書きされた」の3つ
- 最初に /context で、何が読み込まれたかを見る。設定の誤りは claude doctor で一覧にできる
- それでも分からなければ --safe-mode や空の設定で起動して、原因を自分の設定か外かに切り分ける
CLAUDE.md に書いたはずの決まりを守らない、追加したフックが動かない、MCP の道具が出てこない。Claude Code の設定でよくある困りごとです。
公式ドキュメント「Debug your configuration」(2026年11月3日確認)によると、原因の多くは ファイルが読み込まれていない・思っていない場所から読まれた・ほかのファイルに上書きされた の3つです。この記事では、それを順番に確かめる5つの手順をまとめます。
結論:推測より先に「何が読み込まれたか」を見る
最初にやることは /context です。いまの会話に何が読み込まれているかが一覧で出るので、書いたファイルが入っているかがすぐ分かります。
インストールやログインそのものの不調は、インストールできない時の対処 の範囲です。この記事は、起動はできるのに設定が効かない時のためのものです。
手順1:/context で読み込まれた中身を見る
/context は、会話に入っているものを種類ごとに表示します。システムの指示、道具、MCP の道具、サブエージェント、メモリのファイル(CLAUDE.md など)、スキル、会話のやりとりです。
CLAUDE.md が一覧に無ければ、読み込まれていません。 置き場所を見直します。ただし、サブフォルダに置いた CLAUDE.md は、そのフォルダのファイルを読んだときに初めて読み込まれるので、起動直後の一覧には出ません。
一覧にあるのに守られない時は、書き方の問題 です。あいまいで何通りにも読める指示、ファイル同士で食い違う指示、長くなりすぎて1つずつの指示が埋もれている、といった場合に守られにくくなります。書き方のコツは CLAUDE.md の書き方 にまとめています。
項目ごとにくわしく見るときは、次のコマンドを使います。
| コマンド | 見られること |
|---|---|
/memory | メモリのファイルの場所。開いて編集もできる |
/skills | 使えるスキルと、その出どころ |
/hooks | いま有効なフック |
/mcp | つながっている MCP サーバーと状態 |
/permissions | いま効いている許可・禁止のルール |
/status | 有効な設定の出どころ。会社の設定が効いているか |
/doctor | インストールと設定の健康診断。直し方の提案つき |
手順2:設定の誤りと優先順位を確かめる
設定ファイルの書き間違いは、ターミナルで claude doctor を実行すると一覧になります。 会話を始めずに、読み取りだけで診断します。直し方の提案まで欲しい時は、会話の中で /doctor を使います。こちらは直す前に確認を求めます。
設定は、会社の設定 → ローカル → プロジェクト → 自分全体、の順に強く効きます。同じ項目が settings.local.json にもあると、settings.json に書いた値は上書きされます。 置き場所と順番は settings.json 入門 で説明しています。
手順3:MCP サーバーを確かめる
/mcp で、サーバーごとの接続状態と、このプロジェクトで承認済みかが分かります。定義は正しいのに道具が出ない、よくある原因は次の3つです。
- プロジェクトの
.mcp.jsonは最初に1回承認が要る。 承認の画面を閉じてしまうと、/mcpで承認するまで止まったまま - 起動に失敗している。
commandやargsに相対パスを書くと、起動したフォルダからの位置として読まれて失敗しやすい。自作のスクリプトは絶対パスで書く - つながっているのに道具が0個。
/mcpで「Reconnect」を選ぶ。直らなければclaude --debug=mcpで起動して記録を見る
手順4:フックを確かめる
/hooks で、いま有効なフックが出来事ごとに並びます。一覧に無ければ読み込まれていません。 主な原因は、フックを settings.json の "hooks" の中ではなく別のファイルに書いた、matcher を配列で書いた、のどちらかです。
一覧にあるのに動かない時は、matcher の書き方 を疑います。複数の道具は "Edit|Write" のように1つの文字で書き、道具の名前は Bash・Edit のように大文字で始めます。小文字や打ち間違いは、何にも当たらないまま静かに失敗します。
settings.json を直すと、動いている会話にも少し待つだけで反映されます。それでも分からない時は claude --debug で起動し、フックが評価される様子を記録で見ます。フックの基本は フックとは? で説明しています。
手順5:まっさらな設定で起動して切り分ける
ここまでで分からなければ、自分の設定をすべて外した状態で、同じ問題が起きるか を見ます。
まず claude --safe-mode で起動します。CLAUDE.md、スキル、プラグイン、フック、MCP サーバー、自作のコマンドやエージェント、出力スタイル、キー設定が外れた状態で動きます(ログイン・モデル・権限はふだんどおり)。これで問題が消えれば、外したもののどれかが原因 です。
設定ファイルそのものが怪しい時は、空のフォルダと空の設定の置き場所で起動します。
mkdir -p ~/claude-clean/empty && cd ~/claude-clean/empty
CLAUDE_CONFIG_DIR=~/claude-clean/config claude --setting-sources user
- 問題が消えた:原因は自分かプロジェクトの設定にある。元のファイルを1つずつ戻して、再び起きるものを探す
- 問題が残った:原因は設定の外にある。
/statusで会社の設定を、シェルの環境変数も確かめる
よくある原因の早見表
| 症状 | 原因 | 直し方 |
|---|---|---|
| フックが動かない | matcher が配列・小文字・カンマ区切り(古い版) | 縦棒で区切った1つの文字にし、大文字の名前で書く(手順4) |
| 全体に書いた権限やフックが効かない | ~/.claude.json に書いた | ~/.claude/settings.json に書く。2つは別のファイル |
| settings.json の値が効かない | settings.local.json に同じ項目がある | local の方を直す |
スキルが /skills に出ない | .claude/skills/名前.md と1ファイルで置いた | .claude/skills/名前/SKILL.md とフォルダにする |
.mcp.json のサーバーが出ない | .claude/ の中に置いた・servers と書いた | プロジェクト直下に置き、mcpServers の中に書く |
| settings.json に書いた MCP が出ない | settings.json は mcpServers を読まない | .mcp.json に書くか claude mcp add で足す |
Bash(rm *) の禁止をすり抜ける | ルールはコマンドの文字で判定する | フックで止める仕組みと組み合わせる |
ファイルごとの役割は、.claude フォルダの中身 で一覧にしています。
まとめ
- まず
/contextで読み込まれたかを見る。入っているのに守られないなら書き方を直す - 設定の誤りは
claude doctor、MCP は/mcp、フックは/hooksで確かめる - 分からなければ
--safe-modeやまっさらな設定で起動 して、原因が自分の設定か外かを切り分ける
出典
この記事はAIを使って下書きし、著者が事実確認・加筆しています。ツールの機能や料金は変わることがあるため、最新の情報は各社の公式ページでご確認ください。


