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

吉成 俊治

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配布方法パス
macOSMDM (plist)com.anthropic.claudecode ドメイン
Windowsグループポリシー / IntuneHKLM\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スコープは、特定のユーザーがどのプロジェクトでも共通して使いたい個人設定を記述する場所です。

設定ファイルの場所

主な用途

  • テーマ・エディター設定など個人の好み
  • どのプロジェクトでも使うツールやプラグイン
  • APIキーや認証情報(安全な方法で保存)

※APIキーや認証情報は、settings.jsonに平文で直接書くのではなく、Claude Codeの認証フロー、環境変数、シークレット管理ツール、credential helperなど安全な方法で管理するのが基本です。特にProjectスコープや.mcp.jsonのようにGit管理されるファイルには、APIキーを含めないよう注意してください。

Projectスコープ(プロジェクト共有設定)

Projectスコープは、リポジトリ内に設定を置き、Gitでチームメンバーと共有する設定です。

設定ファイルの場所

このファイルはGitにコミットされるため、チーム全員が同じ設定で開発できます。

主な用途

  • チームで使う権限設定(許可・禁止するコマンドの統一)
  • MCPサーバーの設定共有
  • プロジェクト共通のフック(hooks)定義

Localスコープ(ローカル個人設定)

Localスコープは、特定のプロジェクトに対する個人的な設定です。Gitには含まれず(.gitignoreに自動追加)、自分だけに適用されます。

.claude/settings.local.jsonは、Claude Codeが作成した場合はGitに含まれないよう自動的に無視設定されます。ただし、自分で手動作成した場合は、念のため.gitignoreに追加されているか確認してください。

設定ファイルの場所

主な用途

  • プロジェクト設定を試す前のテスト
  • 自分のマシン固有の設定(絶対パスなど)
  • チームには共有したくない個人的なオーバーライド

スコープの優先順位まとめ

複数のスコープで同じ設定が指定されている場合、以下の優先順位で適用されます(上が最優先)。

スクロールできます
優先順位スコープ説明
1Managed組織管理設定(上書き不可)
2コマンドライン引数セッション中の一時的な上書き
3Localローカル個人設定
4Projectプロジェクト共有設定
5Userユーザー個人設定(最低優先度)

設定ファイルの基本:settings.jsonの書き方

ファイルの場所と役割

Claude Codeの設定ファイルはsettings.jsonという名称で、スコープによって場所が異なります。

スクロールできます
スコープファイルパス
User~/.claude/settings.json
Project(チーム共有).claude/settings.json
Local(個人・非共有).claude/settings.local.json

基本的なファイル構造

settings.jsonはJSONフォーマットで記述します。以下は基本的な構造の例です。

$schemaフィールドを必ず追加する

ファイル先頭に$schemaフィールドを追加することを強くおすすめします。VS CodeやCursorなどのエディターでJSON入力補完とバリデーションが有効になり、設定ミスを事前に防ぐことができます。

なお、公式スキーマは定期的に更新されるため、最新CLIバージョンで追加されたフィールドがスキーマに反映されていない場合もあります。警告が表示されても、設定自体が無効とは限りません。

settings.jsonのスコープ構造図

権限設定(Permissions)の書き方

Claude Codeで特に重要な設定項目が権限(Permissions)です。allowdenyを使って、Claude Codeが実行できるツール・コマンドを細かくコントロールできます。

※Permissionsにはallowdenyに加えて、確認を求めるaskもあります。操作を完全に許可・禁止するのではなく、「実行前にユーザー確認を挟みたい」場合に使えます。ルール評価ではdenyaskallowの順に扱われます。

allowdenyの基本

denyallowより優先されます。同じ操作が両方に書かれている場合、禁止(deny)が適用されます。

ツールのパターン指定

権限はツール名とオプションのサブコマンドパターンで指定します。

権限はスコープ全体でマージされる

権限(Permissions)は他の設定と異なり、優先順位によって上書きされるのではなく、すべてのスコープの設定がマージされます

たとえば、Userスコープでcurlを許可し、Projectスコープでcurlを禁止している場合、両方の設定がマージされ、最終的には禁止(deny)が優先されます。これにより、組織やプロジェクト単位でのセキュリティ強化が確実に機能します。

より高度なセキュリティ管理が必要な場合は、sandbox設定も確認しておくとよいでしょう。sandboxを有効化すると、Bashコマンドのファイルシステムやネットワークアクセスを制限できます。たとえば、書き込み可能なディレクトリや接続可能なドメインを制限することで、組織のセキュリティポリシーに沿った実行環境を作れます。

/configコマンドで設定を対話的に変更する

設定ファイルを直接編集する以外に、Claude Codeの対話型REPLから/configコマンドを使って設定を変更することもできます。

/configコマンドの使い方

Claude Codeを起動した状態で、プロンプトに以下を入力します。

タブ付きのインターフェースが開き、以下の操作が可能です。

  • 現在の設定状態の確認
  • テーマや表示オプションの変更
  • モデルの切り替え(ただし、セッション中の変更は/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の書き方

CLAUDE.mdをうまく活用することで、新しいプロジェクトでも一貫した開発スタイルをClaudeに維持させることができます。特にチーム開発では、Gitでコミットして全員が同じ指示を共有できる点が大きなメリットです。

MCPサーバーの設定方法

MCP(Model Context Protocol)サーバーは、Claude Codeに外部ツールやデータソースを接続する拡張機能です。設定ファイルの場所がスコープによって異なる点に注意が必要です。

MCPサーバーの設定ファイル

スクロールできます
スコープファイルパス用途
User / Local~/.claude.json個人利用・プロジェクトごとの設定
Project.mcp.jsonチーム共有設定
Managedmanaged-mcp.json(システムディレクトリ)組織全体への強制配布

.mcp.jsonの基本構造

プロジェクトスコープのMCPサーバー設定は.mcp.jsonにまとめます。

このファイルをGitにコミットすることで、チームメンバーも同じMCPサーバーを自動的に使える環境が整います。

.mcp.jsonはチーム共有を前提にGit管理されることが多いため、実際のAPIキーやトークンを直接書かないでください。認証情報は環境変数やシークレット管理ツールで扱い、.mcp.jsonには変数名やプレースホルダーだけを記述するのが安全です。

環境変数による設定

settings.jsonのenvフィールドを使って、Claude Codeセッション内で利用できる環境変数を設定できます。

主な環境変数

スクロールできます
環境変数名説明
CLAUDE_CODE_ENABLE_TELEMETRYテレメトリー(使用状況収集)の有効化
OTEL_METRICS_EXPORTEROpenTelemetryのメトリクスエクスポーター設定
ANTHROPIC_MODEL使用するモデルの指定
ANTHROPIC_API_KEYAPIキーの指定(通常は認証フローを使用)
MCPサーバー接続イメージ図

プラグイン設定とマーケットプレイス

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を活用することで、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が認識できるよう、プロジェクトスコープの設定を整えておくと快適に使えます。

VS Code連携のインターフェースイメージ

チーム・企業での設定管理ベストプラクティス

個人・チーム・組織の設定を適切に分離する

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ファイルを配置でき、単一ファイルの競合を避けられます。

ファイルはアルファベット順にマージされ、数値プレフィックスで適用順序をコントロールできます。


設定トラブルシューティング

設定が反映されない場合

まず以下を確認してください。

1. ファイルの配置場所が正しいか確認する

スコープに応じた正しいパスに設定ファイルが存在するか確認します。

2. JSONの構文エラーをチェックする

$schemaフィールドを追加してエディターのバリデーションを有効にするか、JSONリンターで構文チェックを行います。

3. 設定の優先順位を確認する

より優先度の高いスコープで同じ設定が記述されていないか確認します。たとえば、UserスコープとProjectスコープで同じキーが競合している可能性があります。

4. 再起動が必要な設定か確認する

modelやoutputStyleなど、一部の設定はセッション再起動が必要です。

パスの解決方法(Windows)

Windowsでは~/.claudeとして表示されるパスは%USERPROFILE%\.claudeに解決されます。コマンドプロンプトでは%USERPROFILE%、PowerShellでは$env:USERPROFILEを使用してパスを確認できます。

権限エラーが発生する場合

denyルールが意図せず適用されているケースがよくあります。ワイルドカード(*)を使ったルールが広範に効いていないか確認しましょう。また、Managedスコープの設定はユーザーやプロジェクトの設定では上書きできないため、組織の管理者に確認が必要です。

設定の全体像:機能とスコープの対応まとめ

最後に、Claude Codeの各機能がどのスコープで管理されるかを整理します。

スクロールできます
機能UserProjectLocalManaged
Settings~/.claude/settings.json.claude/settings.json.claude/settings.local.jsonシステムディレクトリ
CLAUDE.md~/.claude/CLAUDE.mdCLAUDE.md or .claude/CLAUDE.mdCLAUDE.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)

settings.jsonを手動で編集した場合、すぐに反映されますか?

はい、Claude Codeは設定ファイルの変更を監視しており、ほとんどの設定はセッションを再起動せずにリアルタイムで反映されます。ただし、modelやoutputStyleについては再起動が必要です。

チームで使う場合、どの設定をGitにコミットすべきですか?

.claude/settings.json(Projectスコープ)と.mcp.jsonはGitにコミットして共有するのが推奨です。一方、~/.claude/settings.json(Userスコープ)や.claude/settings.local.json(Localスコープ)はGitに含めないようにしてください。特にAPIキーなどの機密情報は絶対にGitにコミットしてはいけません。

Managedスコープはどんな組織に必要ですか?

セキュリティポリシーやコンプライアンス要件を組織全体に強制したい場合に必要です。IT部門がMDM(Mobile Device Management)やグループポリシーで設定を一括配布し、個々のユーザーが変更できないようにする用途に適しています。

権限のallowdenyが同じコマンドに設定されている場合はどうなりますか?

denyが優先されます。また、スコープをまたいで設定がマージされる際も同様にdenyが優先されます。

CLAUDE.mdsettings.jsonの違いは何ですか?

settings.jsonはClaude Codeの動作に関する構造化された設定(権限・環境変数・フック等)を管理するファイルです。一方、CLAUDE.mdはClaudeに対する自然言語の指示書で、コーディング規約・よく使うコマンド・プロジェクトの背景情報などを自由形式で記述します。両方を組み合わせることで、より精度の高い開発支援が得られます。

/configコマンドで変更した設定は、どのファイルに保存されますか?

/configで変更した設定の保存先は、変更する項目によって異なります。たとえばOutput styleはローカルプロジェクト設定(.claude/settings.local.json)に保存されます。チームで共有したい設定は、/configだけに頼らず、.claude/settings.jsonを明示的に編集してGitにコミットするのが確実です。


まとめ

Claude Codeの設定は、スコープという概念を軸に整理することで、個人・チーム・組織それぞれのニーズに柔軟に対応できます。本記事で解説した内容を振り返ると以下のとおりです。

  • スコープは4種類(Managed / User / Project / Local)あり、優先順位によって適用される設定が決まる
  • settings.jsonは設定の中心ファイルで、権限・環境変数・フック・プラグインをまとめて管理する
  • CLAUDE.mdは自然言語の指示書で、コーディング規約やプロジェクト固有のルールを記述する
  • MCPサーバー設定はスコープによってファイルが異なるため、用途に合った場所に設定する
  • 権限(Permissions)はスコープ全体でマージされ、denyallowより優先される

設定を適切に整えることで、Claude Codeの性能を最大限に引き出し、チーム全体で一貫した開発体験を得ることができます。

Claude Codeの導入支援や、社内開発環境へのAI活用について相談したい方は、ぜひユニマまでお気軽にお問い合わせください。

ご相談は無料ですので、どうかお気軽にご相談いただければ幸いです。

※ユニマでは無理な営業行為は行っておりません


参考文献・出典

関連記事

監修者情報

吉成 俊治

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

この記事も読まれています

目次