メインコンテンツへスキップ
Claude が指示を無視したり、設定した機能が表示されない場合、通常の原因はファイルが読み込まれなかった、予期した場所とは異なる場所から読み込まれた、または別のファイルがそれをオーバーライドしたことです。このガイドでは、Claude Code が実際に読み込んだ内容を検査して、どれが当てはまるかを絞り込む方法を示します。 インストール、認証、接続の問題については、代わりに トラブルシューティング インストールとログイン を参照してください。

コンテキストに読み込まれた内容を確認する

/context コマンドは、現在のセッションのコンテキストウィンドウを占めるすべてのものを表示します。カテゴリ別に分類されます:システムプロンプト、メモリファイル、スキル、カスタムサブエージェント(読み込み元を含む)、MCP ツール、会話メッセージです。まず実行して、CLAUDE.md、ルール、またはスキルの説明が存在するかどうかを確認します。 特定のカテゴリの詳細については、専用コマンドで確認してください: メモリファイルが /memory に見つからない場合は、その場所を CLAUDE.md ファイルの読み込み方法 と照らし合わせて確認してください。サブディレクトリの CLAUDE.md ファイルは、セッション開始時ではなく、Claude が Read ツールでそのディレクトリ内のファイルを読むときにオンデマンドで読み込まれます。 /memory がファイルが読み込まれたことを確認しても Claude が特定の指示に従わない場合、問題はファイルが読み込まれたかどうかではなく、指示の書き方である可能性が高いです。CLAUDE.md は、新しいチームメンバーに与えるような指示に適しています。例えば、プロジェクト規約、ビルドコマンド、ファイルの場所などです。 指示が複数の方法で解釈できるほど曖昧な場合、2 つのファイルが矛盾した指示を与える場合、またはファイルが長くなって個々のルールの注意が減る場合、遵守は低下します。効果的な指示を書く は、遵守を高く保つ特異性、サイズ、構造パターンをカバーしています。
CLAUDE.md と権限は異なる問題を解決します。CLAUDE.md は Claude にプロジェクトの仕組みを伝えるため、良い決定を下します。権限hooks は Claude が何を決定するかに関わらず制限を強制します。CLAUDE.md は「ここではこのようにしています」に使用します。権限または hooks は、セキュリティ境界と、保証が必要な絶対に起こってはいけないことに使用します。

解決された設定を確認する

設定はマネージド、ユーザー、プロジェクト、ローカルスコープ全体でマージされます。マネージド設定が存在する場合は常に優先されます。その他の場合、より近いスコープが、ローカル、プロジェクト、ユーザーの順序でより広いスコープをオーバーライドします。一部の設定は、コマンドラインフラグまたは 環境変数 で設定することもでき、これは別のオーバーライドレイヤーとして機能します。設定が適用されないように見える場合、設定した値は通常、別のスコープまたは環境変数によってオーバーライドされています。 /doctor を実行して設定とインストールを確認します。無効な設定ファイル、重複したインストール、未使用の拡張機能、および チェックイン済みの CLAUDE.md コンテンツ Claude がコードベースから導出できるものなど、検出した内容をレポートし、確認後にのみ適用される修正を提案します。CLAUDE.md トリムチェックには Claude Code v2.1.206 以降が必要です。v2.1.205 より前では、/doctor は読み取り専用の診断画面を開き、f を押すとレポートが Claude に送信されて修正されました。 ターミナルから、claude doctor はセッションを開始せずに、読み取り専用のインストールと設定の診断をプリントします。 /status を実行して、マネージド設定が有効かどうかを含む、どの設定ソースがアクティブかを確認します。特定のキーに対してどのスコープが優先されるかを理解するには、スコープの相互作用方法 を参照してください。

MCP サーバーを確認する

/mcp を実行して、すべての設定されたサーバー、その接続ステータス、および現在のプロジェクトに対して承認したかどうかを確認します。サーバーは正しく定義されていても、いくつかの一般的な理由でツールを提供しない場合があります:
  • .mcp.json のプロジェクトスコープサーバーは 1 回限りの承認が必要です。プロンプトが却下された場合、/mcp から承認するまでサーバーは無効のままです。
  • 起動に失敗したサーバーは /mcp で失敗として表示されます。command または args の相対ファイルパスは頻繁な原因です。これらは .mcp.json の場所ではなく、Claude Code を起動したディレクトリに対して解決されるためです。
  • 接続されているが 0 個のツールをリストするサーバーは正常に起動していますが、ツールリストを返していません。/mcp から 再接続 を選択します。カウントが 0 のままの場合は、claude --debug mcp を実行してサーバーの stderr 出力を確認します。
設定場所とスコープルールについては、MCP を参照してください。

Hooks を確認する

/hooks を実行して、現在のセッションに登録されているすべてのフックをイベント別にグループ化して一覧表示します。定義したフックが表示されない場合、それは読み込まれていません:hooks は設定ファイルの "hooks" キーの下に置かれ、スタンドアロンファイルではありません。 フックが表示されても発火しない場合、通常の原因はマッチャーです。以下の間違いがないか確認してください:
  • matcher フィールドは、複数のツール名をマッチするために | を使用する単一の文字列です。例えば "Edit|Write" です。, セパレータは同等であるため、"Edit,Write" は同じツールをマッチします。v2.1.191 より前では、カンマは正規表現評価にフォールスルーし、マッチャーは一致しないため、v2.1.191 をまだ使用していない場合は | を使用してください。
  • ツール名のスペルミスはマッチャーが何もマッチしないため、フックはサイレントに失敗します。
  • 配列値はスキーマエラーです:Claude Code は設定エラー通知を表示し、ユーザー、プロジェクト、またはローカル設定ファイル全体を拒否し、claude doctor は検証失敗を報告し、そのファイルからのフックは /hooks に表示されません。管理設定では、無効なエントリのみが削除され、ファイルの他のフックは引き続き適用されます。
settings.json への編集は、短いファイル安定性遅延後に実行中のセッションで有効になります。再起動する必要はありません。保存後数秒経っても /hooks が古い定義を表示している場合は、/hooks を再度実行してビューをリフレッシュしてください。 /hooks がフックを表示しても発火しない場合、次のステップはフック評価をライブで監視することです。claude --debug hooks でセッションを開始し、ツール呼び出しをトリガーします。デバッグログは各イベント、チェックされたマッチャー、フックの終了コードと出力を記録します。ログ形式については フックをデバッグする を、一般的な失敗パターンについては hooks トラブルシューティング を参照してください。

クリーン設定に対してテストする

claude --safe-mode で開始します。これにより、CLAUDE.md、skills、plugins、hooks、MCP サーバー、カスタムコマンド、エージェントを含むすべてのカスタマイズが無効になった状態でセッションが起動します。認証、モデル選択、組み込みツール、権限は通常通り機能します。セーフモードで問題が消える場合、これらのサーフェスのいずれかが原因です。上記のターゲット化されたチェックを使用して、どれが原因かを特定してください。セーフモードは、組織からのマネージド hooks と設定ポリシーを引き続き適用します。マネージド plugins、skills、CLAUDE.md、MCP サーバーはオフになります。 セーフモードで問題が続く場合、または設定自体が疑わしい場合は、通常のセットアップから何も読み込まないセッションと比較してください。CLAUDE_CONFIG_DIR を空のディレクトリに指定して ~/.claude の下のすべてをバイパスし、.claude フォルダ、.mcp.json、または CLAUDE.md がないディレクトリから起動して、プロジェクト設定もスキップします。
クリーンセッションには、ユーザーまたはプロジェクト設定、hooks、MCP サーバー、plugins、またはメモリがありません。
  • マネージド設定は、組織がそれらをデプロイする場合でも適用されます。これらは ~/.claude の外のシステムパスに存在するためです。
  • Linux と Windows では、認証情報が設定ディレクトリの下に保存されているため、再度ログインするよう促されます。
  • macOS では、認証情報は Keychain にあり、クリーンセッションに引き継がれます。
問題がここで消える場合、原因は実際の ~/.claude またはプロジェクト .claude ファイルのどこかにあります。ファイルを一度に 1 つずつ再導入します。ファイルを一時ディレクトリにコピーするか、プロジェクトから起動して、どれが原因かを見つけます。クリーンセッションで問題が続く場合、原因はユーザーおよびプロジェクト設定の外にあります。/status を実行してマネージド設定が有効かどうかを確認し、Claude Code に影響を与える環境変数を探してから、トラブルシューティングを参照してください。

一般的な原因を確認する

ほとんどの設定の問題は、小さな場所とシンタックスルールのセットに遡ります。バグを想定する前にこれらを確認してください: 各設定サーフェスの完全なリファレンスについては、専用ページを参照してください: