Claude Codeの設定方法を完全解説|スコープ・設定ファイルの基礎から応用まで

吉成 俊治
代表取締役 / 上級ウェブ解析士

Claude Codeをインストールして「とりあえず動いた」あと、多くの方がぶつかるのが「設定まわりをどう整えるか」という壁です。スコープって何?settings.jsonはどこに置くの?チームで使うときはどう管理すれば良い?――そういった疑問を、この記事では公式ドキュメントをベースに体系的に解説します。
Claude Code自体の概要(できること・料金・インストール方法など)については、別記事「Claude Codeとは?」で詳しく解説していますので、そちらも合わせてご参照ください。また、インストール方法や初期設定については、別記事「Claude Codeのインストールと初期設定」で解説しています。
本記事では「インストール後の設定」に絞って、基礎から応用まで一気に理解することを目指します。
Claude Codeの設定を理解する前に知っておきたい基本概念
設定には「スコープ(適用範囲)」がある
Claude Codeの設定で最初に理解しておきたいのが、スコープ(Scope)という概念です。スコープとは「その設定がどこに・誰に・どの範囲で適用されるか」を決める枠組みのことです。
たとえば「自分だけに使う個人設定」なのか、「チーム全員が使うプロジェクト共通設定」なのか、それとも「会社全体で強制適用する組織設定」なのかによって、設定ファイルの置き場所と書き方が変わります。
スコープを理解することで、「どこに何を書けばよいか」が明確になり、設定の混乱を防ぐことができます。
設定は「上書き」ではなく「優先順位付きのマージ」
複数のスコープに同じ設定が書かれていた場合、Claude Codeは優先順位の高い設定を採用します。なお、権限(Permissions)に関するルールは上書きではなくスコープ全体でマージされる点が特徴的です。この挙動については後ほど詳しく説明します。
MCPサーバー設定はsettings.jsonの権限設定とは挙動が異なります。同じサーバー名が複数スコープで定義されている場合、Local、Project、Userなどの優先順位に従って1つの定義が採用され、フィールド単位ではマージされません。
Claude Codeの4つの設定スコープ
Claude Codeには4つの設定スコープが用意されています。それぞれの特徴と使い分けを理解しましょう。
Managedスコープ(組織管理設定)
Managedスコープは、IT部門や管理者が組織全体に強制適用する設定です。個々のユーザーやプロジェクト設定では上書きできない、最高優先度の設定です。
主な用途は以下のとおりです。
- セキュリティポリシーの強制適用(例:特定のコマンド実行を禁止する)
- コンプライアンス要件の統一(例:ログ収集の有効化)
- 全社標準の構成を配布する
設定の配布方法は複数あります。macOSではJamfやKandjiなどのMDMツールを使ったplist形式、WindowsではグループポリシーやIntuneを使ったレジストリ形式、またはシステムディレクトリへのファイル設置(managed-settings.json)が利用できます。
| OS | 配布方法 | パス |
|---|---|---|
| macOS | MDM (plist) | com.anthropic.claudecode ドメイン |
| Windows | グループポリシー / Intune | HKLM\SOFTWARE\Policies\ClaudeCode |
| Linux / WSL | ファイル設置 | /etc/claude-code/managed-settings.json |
| Windows (ファイル) | ファイル設置 | C:\Program Files\ClaudeCode\managed-settings.json |
注意: C:\ProgramData\ClaudeCode\managed-settings.json はv2.1.75以降サポート終了となっています。このパスを使用している組織は C:\Program Files\ClaudeCode\ へ移行が必要です。
Userスコープ(ユーザー個人設定)
Userスコープは、特定のユーザーがどのプロジェクトでも共通して使いたい個人設定を記述する場所です。
設定ファイルの場所
~/.claude/settings.json(Windowsでは%USERPROFILE%\.claude\settings.json)
主な用途
- テーマ・エディター設定など個人の好み
- どのプロジェクトでも使うツールやプラグイン
- APIキーや認証情報(安全な方法で保存)
※APIキーや認証情報は、settings.jsonに平文で直接書くのではなく、Claude Codeの認証フロー、環境変数、シークレット管理ツール、credential helperなど安全な方法で管理するのが基本です。特にProjectスコープや.mcp.jsonのようにGit管理されるファイルには、APIキーを含めないよう注意してください。
Projectスコープ(プロジェクト共有設定)
Projectスコープは、リポジトリ内に設定を置き、Gitでチームメンバーと共有する設定です。
設定ファイルの場所
.claude/settings.json(リポジトリのルートディレクトリ配下)
このファイルはGitにコミットされるため、チーム全員が同じ設定で開発できます。
主な用途
- チームで使う権限設定(許可・禁止するコマンドの統一)
- MCPサーバーの設定共有
- プロジェクト共通のフック(hooks)定義
Localスコープ(ローカル個人設定)
Localスコープは、特定のプロジェクトに対する個人的な設定です。Gitには含まれず(.gitignoreに自動追加)、自分だけに適用されます。
.claude/settings.local.jsonは、Claude Codeが作成した場合はGitに含まれないよう自動的に無視設定されます。ただし、自分で手動作成した場合は、念のため.gitignoreに追加されているか確認してください。
設定ファイルの場所
.claude/settings.local.json
主な用途
- プロジェクト設定を試す前のテスト
- 自分のマシン固有の設定(絶対パスなど)
- チームには共有したくない個人的なオーバーライド
スコープの優先順位まとめ
複数のスコープで同じ設定が指定されている場合、以下の優先順位で適用されます(上が最優先)。
| 優先順位 | スコープ | 説明 |
|---|---|---|
| 1 | Managed | 組織管理設定(上書き不可) |
| 2 | コマンドライン引数 | セッション中の一時的な上書き |
| 3 | Local | ローカル個人設定 |
| 4 | Project | プロジェクト共有設定 |
| 5 | User | ユーザー個人設定(最低優先度) |
設定ファイルの基本:settings.jsonの書き方
ファイルの場所と役割
Claude Codeの設定ファイルはsettings.jsonという名称で、スコープによって場所が異なります。
| スコープ | ファイルパス |
|---|---|
| User | ~/.claude/settings.json |
| Project(チーム共有) | .claude/settings.json |
| Local(個人・非共有) | .claude/settings.local.json |
基本的なファイル構造
settings.jsonはJSONフォーマットで記述します。以下は基本的な構造の例です。
{
"$schema": "https://json.schemastore.org/claude-code-settings.json",
"permissions": {
"allow": [
"Bash(npm run lint)",
"Bash(npm run test *)",
"Read(~/.zshrc)"
],
"deny": [
"Bash(curl *)",
"Read(./.env)",
"Read(./.env.*)"
]
},
"env": {
"CLAUDE_CODE_ENABLE_TELEMETRY": "1"
}
}
$schemaフィールドを必ず追加する
ファイル先頭に$schemaフィールドを追加することを強くおすすめします。VS CodeやCursorなどのエディターでJSON入力補完とバリデーションが有効になり、設定ミスを事前に防ぐことができます。
{
"$schema": "https://json.schemastore.org/claude-code-settings.json"
}
なお、公式スキーマは定期的に更新されるため、最新CLIバージョンで追加されたフィールドがスキーマに反映されていない場合もあります。警告が表示されても、設定自体が無効とは限りません。

権限設定(Permissions)の書き方
Claude Codeで特に重要な設定項目が権限(Permissions)です。allowとdenyを使って、Claude Codeが実行できるツール・コマンドを細かくコントロールできます。
※Permissionsにはallowとdenyに加えて、確認を求めるaskもあります。操作を完全に許可・禁止するのではなく、「実行前にユーザー確認を挟みたい」場合に使えます。ルール評価ではdeny、ask、allowの順に扱われます。
allowとdenyの基本
{
"permissions": {
"allow": ["許可するツール"],
"deny": ["禁止するツール"]
}
}
denyはallowより優先されます。同じ操作が両方に書かれている場合、禁止(deny)が適用されます。
ツールのパターン指定
権限はツール名とオプションのサブコマンドパターンで指定します。
{
"permissions": {
"allow": [
"Bash(npm run lint)", // 特定のコマンドのみ許可
"Bash(npm run test *)", // ワイルドカードで前方一致
"Read(~/.zshrc)" // 特定ファイルの読み取り許可
],
"deny": [
"Bash(curl *)", // curlを全面禁止
"Read(./.env)", // .envファイルの読み取り禁止
"Read(./secrets/**)" // secretsディレクトリ配下を全禁止
]
}
}
権限はスコープ全体でマージされる
権限(Permissions)は他の設定と異なり、優先順位によって上書きされるのではなく、すべてのスコープの設定がマージされます。
たとえば、Userスコープでcurlを許可し、Projectスコープでcurlを禁止している場合、両方の設定がマージされ、最終的には禁止(deny)が優先されます。これにより、組織やプロジェクト単位でのセキュリティ強化が確実に機能します。
より高度なセキュリティ管理が必要な場合は、sandbox設定も確認しておくとよいでしょう。sandboxを有効化すると、Bashコマンドのファイルシステムやネットワークアクセスを制限できます。たとえば、書き込み可能なディレクトリや接続可能なドメインを制限することで、組織のセキュリティポリシーに沿った実行環境を作れます。
/configコマンドで設定を対話的に変更する
設定ファイルを直接編集する以外に、Claude Codeの対話型REPLから/configコマンドを使って設定を変更することもできます。
/configコマンドの使い方
Claude Codeを起動した状態で、プロンプトに以下を入力します。
/config
タブ付きのインターフェースが開き、以下の操作が可能です。
- 現在の設定状態の確認
- テーマや表示オプションの変更
- モデルの切り替え(ただし、セッション中の変更は
/modelコマンドを推奨)
設定変更の反映タイミング
Claude Codeは設定ファイルの変更を自動的に検出し、ほとんどの設定はセッションを再起動せずにリアルタイムで反映されます。変更を検出した際にはConfigChangeフックが発火します。
ただし、以下の設定はセッション開始時のみ読み込まれるため、変更を反映するには再起動が必要です。
| 設定キー | 変更方法 |
|---|---|
| model | セッション中は/modelコマンドを使用 |
| outputStyle | /clearコマンドまたは再起動 |

CLAUDE.mdで自然言語のプロジェクト指示を設定する
settings.jsonが構造化された設定ファイルであるのに対し、CLAUDE.mdはClaudeに対する自然言語の指示書です。プロジェクトのコーディング規約、よく使うコマンド、Claudeに守ってほしいルールなどを自由に記述できます。
CLAUDE.mdの配置場所
| スコープ | 場所 |
|---|---|
| User(全プロジェクト共通) | ~/.claude/CLAUDE.md |
| Project(チーム共有) | CLAUDE.md(リポジトリルート)または .claude/CLAUDE.md |
| Local(個人・非共有) | CLAUDE.local.md |
CLAUDE.mdの書き方
# プロジェクト概要
このリポジトリはECサイトのバックエンドAPIです。Node.js + TypeScriptで実装されています。
# コーディングルール
- コミットメッセージは日本語で書く
- 関数には必ずJSDocコメントを追加する
- `npm run lint`と`npm run test`を必ずパスさせてからPRを作成する
# よく使うコマンド
- `npm run dev`:開発サーバーの起動
- `npm run build`:本番ビルド
- `npm run test`:テストの実行
CLAUDE.mdをうまく活用することで、新しいプロジェクトでも一貫した開発スタイルをClaudeに維持させることができます。特にチーム開発では、Gitでコミットして全員が同じ指示を共有できる点が大きなメリットです。
MCPサーバーの設定方法
MCP(Model Context Protocol)サーバーは、Claude Codeに外部ツールやデータソースを接続する拡張機能です。設定ファイルの場所がスコープによって異なる点に注意が必要です。
MCPサーバーの設定ファイル
| スコープ | ファイルパス | 用途 |
|---|---|---|
| User / Local | ~/.claude.json | 個人利用・プロジェクトごとの設定 |
| Project | .mcp.json | チーム共有設定 |
| Managed | managed-mcp.json(システムディレクトリ) | 組織全体への強制配布 |
.mcp.jsonの基本構造
プロジェクトスコープのMCPサーバー設定は.mcp.jsonにまとめます。
{
"mcpServers": {
"your-server-name": {
"command": "node",
"args": ["path/to/server.js"],
"env": {
"API_KEY": "${YOUR_API_KEY}"
}
}
}
}
このファイルをGitにコミットすることで、チームメンバーも同じMCPサーバーを自動的に使える環境が整います。
.mcp.jsonはチーム共有を前提にGit管理されることが多いため、実際のAPIキーやトークンを直接書かないでください。認証情報は環境変数やシークレット管理ツールで扱い、.mcp.jsonには変数名やプレースホルダーだけを記述するのが安全です。
環境変数による設定
settings.jsonのenvフィールドを使って、Claude Codeセッション内で利用できる環境変数を設定できます。
{
"env": {
"CLAUDE_CODE_ENABLE_TELEMETRY": "1",
"OTEL_METRICS_EXPORTER": "otlp",
"NODE_ENV": "development"
}
}
主な環境変数
| 環境変数名 | 説明 |
|---|---|
| CLAUDE_CODE_ENABLE_TELEMETRY | テレメトリー(使用状況収集)の有効化 |
| OTEL_METRICS_EXPORTER | OpenTelemetryのメトリクスエクスポーター設定 |
| ANTHROPIC_MODEL | 使用するモデルの指定 |
| ANTHROPIC_API_KEY | APIキーの指定(通常は認証フローを使用) |

プラグイン設定とマーケットプレイス
Claude Codeはプラグインシステムを通じて機能を拡張できます。プラグインの設定もsettings.jsonで管理します。
プラグイン設定の場所
| スコープ | ファイルパス |
|---|---|
| User | ~/.claude/settings.json |
| Project | .claude/settings.json |
| Local | .claude/settings.local.json |
組織でのプラグイン管理
ManagedスコープではstrictKnownMarketplaces設定を使って、インストール可能なプラグインを組織が承認したマーケットプレイスのみに制限できます。セキュリティポリシーが厳しい企業環境での利用に有効です。
Hooksを使って処理を自動化する
Hooks(フック)は、特定のイベント発生時に自動的に処理を実行する仕組みです。settings.jsonに設定を記述します。
Hooksの主なイベント
| イベント名 | 発生タイミング |
|---|---|
| PreToolUse | ツール実行前 |
| PostToolUse | ツール実行後 |
| ConfigChange | 設定ファイルの変更が検出されたとき |
Hooksの設定例
{
"hooks": {
"PostToolUse": [
{
"matcher": "Bash",
"hooks": [
{
"type": "command",
"command": "echo 'Bash command executed' >> /tmp/claude-log.txt"
}
]
}
]
}
}
Hooksを活用することで、Bashコマンド実行後に自動でログを記録したり、特定のコマンド実行後にテストを走らせたりする自動化が実現できます。
VS CodeやJetBrainsとの連携設定
Claude CodeはターミナルCLIとして動作するほか、VS CodeやJetBrainsのIDE拡張機能とも連携できます。
VS Code連携
VS Code拡張機能をインストールした場合、Claude CodeのターミナルがVS Code内に統合されます。VS Code側の設定とsettings.jsonの設定は独立して管理されます。
IDE連携時の推奨設定
IDE連携時は、エディターが開いているファイルをClaude Codeが認識できるよう、プロジェクトスコープの設定を整えておくと快適に使えます。
{
"permissions": {
"allow": [
"Read(**/*.ts)",
"Read(**/*.tsx)",
"Edit(**/*.ts)",
"Edit(**/*.tsx)"
]
}
}

チーム・企業での設定管理ベストプラクティス
個人・チーム・組織の設定を適切に分離する
Claude Codeを複数人で使う場合、以下の分離方針を守ることでトラブルを防げます。
| 設定の種類 | 推奨スコープ |
|---|---|
| コマンドの許可・禁止ルール(チーム統一) | Project (.claude/settings.json) |
| APIキー・認証情報 | User (~/.claude/settings.json) ※絶対にGitに含めない |
| 組織全体のセキュリティポリシー | Managed |
| 個人的な試験的設定 | Local (.claude/settings.local.json) |
※APIキーや認証情報は、settings.jsonに平文で直接書くのではなく、Claude Codeの認証フロー、環境変数、シークレット管理ツール、credential helperなど安全な方法で管理するのが基本です。特にProjectスコープや.mcp.jsonのようにGit管理されるファイルには、APIキーを含めないよう注意してください。
.gitignoreの確認
Claude Codeは.claude/settings.local.jsonを自動的に.gitignoreに追加します。ただし、~/.claude/settings.json(Userスコープ)については、APIキーなどの機密情報が含まれている場合があるため、意図せずGitに含まれないよう注意してください。
設定のバックアップ
Claude Codeは設定ファイルのタイムスタンプ付きバックアップを自動的に作成し、直近5件を保持します。誤って設定を壊した場合もリカバリーが可能です。
drop-inディレクトリ(managed-settings.d/)の活用
組織規模が大きくなると、複数チームが独立したポリシーを持つケースが増えます。managed-settings.d/ディレクトリを使えば、各チームが独立した.jsonファイルを配置でき、単一ファイルの競合を避けられます。
/etc/claude-code/
├── managed-settings.json # ベース設定
└── managed-settings.d/
├── 10-telemetry.json # テレメトリーチームの設定
└── 20-security.json # セキュリティチームの設定
ファイルはアルファベット順にマージされ、数値プレフィックスで適用順序をコントロールできます。
設定トラブルシューティング
設定が反映されない場合
まず以下を確認してください。
1. ファイルの配置場所が正しいか確認する
スコープに応じた正しいパスに設定ファイルが存在するか確認します。
2. JSONの構文エラーをチェックする
$schemaフィールドを追加してエディターのバリデーションを有効にするか、JSONリンターで構文チェックを行います。
3. 設定の優先順位を確認する
より優先度の高いスコープで同じ設定が記述されていないか確認します。たとえば、UserスコープとProjectスコープで同じキーが競合している可能性があります。
4. 再起動が必要な設定か確認する
modelやoutputStyleなど、一部の設定はセッション再起動が必要です。
パスの解決方法(Windows)
Windowsでは~/.claudeとして表示されるパスは%USERPROFILE%\.claudeに解決されます。コマンドプロンプトでは%USERPROFILE%、PowerShellでは$env:USERPROFILEを使用してパスを確認できます。
権限エラーが発生する場合
denyルールが意図せず適用されているケースがよくあります。ワイルドカード(*)を使ったルールが広範に効いていないか確認しましょう。また、Managedスコープの設定はユーザーやプロジェクトの設定では上書きできないため、組織の管理者に確認が必要です。
設定の全体像:機能とスコープの対応まとめ
最後に、Claude Codeの各機能がどのスコープで管理されるかを整理します。
| 機能 | User | Project | Local | Managed |
|---|---|---|---|---|
| Settings | ~/.claude/settings.json | .claude/settings.json | .claude/settings.local.json | システムディレクトリ |
| CLAUDE.md | ~/.claude/CLAUDE.md | CLAUDE.md or .claude/CLAUDE.md | CLAUDE.local.md | ― |
| MCP Servers | ~/.claude.json | .mcp.json | ~/.claude.json(プロジェクト別) | managed-mcp.json |
| Plugins | ~/.claude/settings.json | .claude/settings.json | .claude/settings.local.json | ― |
| Subagents | ~/.claude/agents/ | .claude/agents/ | ― | ― |
よくあるご質問(FAQ)
まとめ
Claude Codeの設定は、スコープという概念を軸に整理することで、個人・チーム・組織それぞれのニーズに柔軟に対応できます。本記事で解説した内容を振り返ると以下のとおりです。
- スコープは4種類(Managed / User / Project / Local)あり、優先順位によって適用される設定が決まる
settings.jsonは設定の中心ファイルで、権限・環境変数・フック・プラグインをまとめて管理するCLAUDE.mdは自然言語の指示書で、コーディング規約やプロジェクト固有のルールを記述する- MCPサーバー設定はスコープによってファイルが異なるため、用途に合った場所に設定する
- 権限(Permissions)はスコープ全体でマージされ、
denyがallowより優先される
設定を適切に整えることで、Claude Codeの性能を最大限に引き出し、チーム全体で一貫した開発体験を得ることができます。
Claude Codeの導入支援や、社内開発環境へのAI活用について相談したい方は、ぜひユニマまでお気軽にお問い合わせください。
ご相談は無料ですので、どうかお気軽にご相談いただければ幸いです。
※ユニマでは無理な営業行為は行っておりません
参考文献・出典
- Anthropic公式ドキュメント:Claude Code 設定
https://code.claude.com/docs/ja/settings - Anthropic公式ドキュメント:クイックスタート
https://code.claude.com/docs/ja/quickstart - Anthropic公式ドキュメント:高度なセットアップ
https://code.claude.com/docs/ja/setup - チャエンのAI研究所:【保存版】Claude Code絶対すべき初期設定9選
https://digirise.ai/chaen-ai-lab/claude-code-settings/ - AQUA合同会社:Claude Code 初心者完全ガイド【2026年最新】
https://www.aquallc.jp/claude-code-beginners-guide/ - paiza:Claude CodeをVSCodeで使うには?
https://paiza.jp/works/knowledge/article-g-ai-claude-code-vscode-kn
関連記事


監修者情報

吉成 俊治
1978年 福島県郡山市生まれ。カルチュア・コンビニエンス・クラブグループにてTSUTAYA事業、Tポイント(現Vポイント)事業、DBマーケティング事業を経験し業務設計やシステム開発に携わる。2023年に株式会社ユニマ設立。企業のWebマーケティング支援をメインに、プロジェクトマネジメント、SEOコンサルティング業務を行う。
● 上級ウェブ解析士
● IMA(Internet Marketing Analyst)認定ホルダー



