Claude Code設定完全ガイド|CLAUDE.mdからMCPまで網羅
先に結論: Claude Codeのカスタマイズ手段は、指示を書くCLAUDE.md・動作を制御するsettings.json・外部連携のMCP・機能拡張のサブエージェント/Skills/プラグインに大別され、確実に実行させたいならhooks、文脈を伝えたいならCLAUDE.mdを使い分けます。
Claude Codeには「CLAUDE.md」「settings.json」「hooks」「MCP」「Skills」「プラグイン」などカスタマイズ手段が数多くあり、どれが何を担当するのか混乱しがちです。
この記事では各手段が「何を」「どこで」制御するかを一覧整理し、詳しい使い方は専用記事へリンクします。全体像を掴み、必要な設定だけ深掘りしたい方向けのハブです。
この記事の要点
- Claude Codeの設定手段はCLAUDE.md・settings.json・permissions・hooks・MCP・サブエージェント/Skills/プラグインの5系統に整理できます。
- CLAUDE.mdは「お願い」でClaudeが読み飛ばす可能性があるのに対し、hooksは決められたタイミングで必ず実行されます。
- settings.jsonの優先順位は「Managed > コマンドライン起動オプション > Local > Project > User」です。
- 権限ルールの評価順序は
deny → ask → allowです。/initコマンドでコードベースを解析しCLAUDE.mdを自動生成できます。
Claude Codeの設定手段の全体像
Claude Codeのカスタマイズ手段は役割で大きく5種類に分けられます。迷ったら「指示なのか・動作設定なのか・自動実行なのか」を考えると選びやすくなります。
| 手段 | 何を設定するか | 主なファイル・置き場所 |
|---|---|---|
| CLAUDE.md | Claudeへの指示・前提知識(文脈) | CLAUDE.md / ~/.claude/CLAUDE.md |
| settings.json | 権限・環境変数・モデルなど本体の動作設定 | .claude/settings.json など |
| permissions | ツール実行を確認なしで許可/拒否/確認するルール | settings.json内のpermissionsキー |
| hooks | 特定タイミングでコマンドを確実に自動実行 | settings.json内のhooksキー |
| MCP | 外部ツール・データソースとの連携 | claude mcp addコマンド、.mcp.json |
| サブエージェント・Skills・プラグイン | 機能・役割の追加と配布 | .claude/agents/、.claude/skills/、プラグイン |
CLAUDE.mdは「お願い」でClaudeが読み飛ばす可能性がある一方、hooksは決められたタイミングで必ず実行される仕組みです。「確実に守らせたいならhooks、文脈として考慮してほしいならCLAUDE.md」が基本の切り分けです。
詳しい使い方は以降のセクションから各記事へ進んでください。基本操作から知りたい方は「Claude Codeの使い方完全ガイド」もどうぞ。
CLAUDE.md: プロジェクトへの指示を書く
CLAUDE.mdは、Claude Codeがセッション開始時に読み込むMarkdownファイルで、ビルドコマンドや規約など「毎回説明し直している情報」を書く場所です。
組織・ユーザー・プロジェクト・ローカルの4階層で読み込まれ、/initでコードベース解析による自動生成もできます。
ただしあくまで文脈情報で、強制力のある設定ではありません。
書くべき内容やアンチパターン、/init・/memoryの使い方は「CLAUDE.mdの書き方」で詳しく解説しています。
settings.json: 動作設定と階層構造
settings.jsonは、権限・環境変数・hooks・使用モデルなどClaude Code本体の「動作」を制御するJSON形式の設定ファイルです。
設定は「組織管理(Managed)」「ユーザー」「プロジェクト」「ローカル」の4階層に分かれ、Managed > コマンドライン起動オプション > Local > Project > Userの優先順位で上書きされます。
同じキーが複数箇所にあっても、この順で理解すれば意図しない上書きに悩まされずに済みます。
env・model・fallbackModel・outputStyleなど主要キーの書き方とサンプル全文は「settings.json解説」で解説しています。
口調や説明量を切り替えたい場合はoutputStyleで設定する「Output Styles」も参考になります。
権限管理(permissions): 確認プロンプトを制御する
Claude Codeはファイル編集やコマンド実行のたびに確認プロンプトを表示する「階層型の権限システム」を採用しています。
頻発すると作業のテンポが落ちるため、settings.jsonのpermissionsキーでallow(自動許可)・deny(常に拒否)・ask(実行前確認)のルールを設定し、確認の頻度をコントロールできます。
評価順序はdeny → ask → allowです(2026年8月時点)。編集を保留し計画だけ提示するplanモードなどパーミッションモードの切替もでき、活用法は「Plan Mode」で解説しています。
allow/denyの具体的な書き方、/permissionsでの確認方法、確認を安全に減らすおすすめ設定は「Claude Code権限管理入門」にまとめています。
hooks: 処理を自動実行する
CLAUDE.mdに「編集後は必ずフォーマッタを実行して」と書いても、Claudeが忘れる可能性は残ります。
hooksはPreToolUse・PostToolUse・SessionStartなど特定タイミングで、判断を介さずシェルコマンドを確実に実行できる機能です。自動フォーマットや危険なコマンドのブロック、ログ記録などに向いています。
イベント種別の一覧、settings.jsonでの書き方、exit codeやJSON出力による制御方法は「Claude Code hooks入門」で解説しています。
permissionsと組み合わせた誤削除・誤操作防止は「誤削除を防ぐ安全運用ガイド」で5層の多層防御スタックとして整理しています。
MCP: 外部ツールとの連携
MCP(Model Context Protocol)は、GitHubやファイルシステムなど外部のツール・データソースにClaudeが直接アクセスするオープンな標準規格です。
claude mcp addでサーバーを追加し、HTTP・stdioの接続方式やlocal/project/userのスコープを使い分けます。追加後は/mcpで接続状態やOAuth認証の要否を確認できます。
サーバー追加の具体的なコマンド、スコープの使い分け、GitHubやfilesystemサーバーの実用例は「Claude Code MCP設定方法」で紹介しています。
カスタマイズの発展: サブエージェント・Skills・プラグイン
設定手段に慣れてきたら、機能を拡張する仕組みも活用できます。
サブエージェントは、独立したコンテキストウィンドウで動く補助エージェントです。大量のログ調査やgrepを任せると要約だけがメイン会話に返り、文脈がきれいに保たれます。組み込みのExploreやgeneral-purposeはそのまま使え、.claude/agents/にMarkdownを置けばカスタム定義も作れます。詳しくは「Claude Codeサブエージェント活用術」をご覧ください。
Skillsは、いつも同じ指示をコピペしている作業手順をSKILL.mdにまとめ、必要なときだけ読み込ませる仕組みです。descriptionにマッチすると自動発動し、/スキル名でも呼び出せます。作り方や自動発動の制御方法は「Claude Code Skillsの作り方」で解説しています。
プラグインは、Skills・サブエージェント・hooks・MCPサーバーをまとめて配布できる仕組みです。/pluginでマーケットプレイスを追加し、インストールするだけでチームやコミュニティ製の機能を使えます。導入手順と自作方法は「Claude Codeプラグイン導入ガイド」にまとめています。
エディタ・Git連携の設定
日常の開発フローに組み込む設定として、エディタ連携とGit操作も押さえておきましょう。
VSCode連携では、グラフィカルな「VSCode拡張機能」と、統合ターミナルでclaudeを起動する方法の2通りがあります。差分のサイドバイサイド表示や@のファイル参照など、エディタ上で完結する機能は「Claude Code VSCode連携の設定方法」で紹介しています。
Git連携は、特別な設定なしでも「コミットして」「PRを作って」で頼めますが、git pushやgit commitの権限ルールを整えるとより安全です。依頼文例と権限確認の考え方は「Claude CodeでGit操作を自動化」で解説しています。
よくある質問
まず何から設定すればよいですか?
/initでCLAUDE.mdを自動生成するところから始めるのがおすすめです。前提知識を伝えられたらsettings.jsonで権限ルールを整え、繰り返す作業が出てきたらhooksやSkillsを検討する順で無理なく広げられます。
CLAUDE.mdとsettings.jsonはどちらに書けばいいか迷います
コーディング規約やプロジェクトの背景のような「文脈」はCLAUDE.mdに、コマンドを確認なしで実行してよいかという「制御ロジック」はsettings.jsonのpermissionsに書くのが基本の使い分けです。
役割の違いは「CLAUDE.mdの書き方」と「settings.json解説」で解説しています。
設定ファイルはチームで共有できますか?
できます。
.claude/settings.jsonや.claude/agents/、.claude/skills/はコミットすればチーム全員に適用され、個人用の上書きは.claude/settings.local.jsonのように.gitignore対象に分けます。
仕組み化したい場合はプラグイン化も検討を。組織全体への展開手順は「チーム導入」もご覧ください。
まとめ
Claude Codeの設定手段は、指示を書くCLAUDE.md、動作を制御するsettings.json、確認プロンプトの権限管理、自動実行するhooks、外部連携のMCP、機能拡張のサブエージェント・Skills・プラグインに整理できます。
まずCLAUDE.mdと権限を整え、慣れたらhooksやMCP、Skillsへと段階的に広げていくのがおすすめです。
Claude Code全体の使い方は「Claude Codeの使い方完全ガイド」もあわせてご覧ください。
ハブネコのひとこと
CLAUDE.mdは「お願い」止まりで読み飛ばされる可能性が残ると知ってから、絶対に守らせたい処理はhooksに任せるようにしています。まずはCLAUDE.mdと権限を整えるところから広げていくのが無理がありません。