Claude Code settings.json設定ガイド|3スコープと実務設定例
Claude Codeのsettings.jsonの設定方法を、実務での運用経験をもとに解説します。
Claude Codeのsettings.jsonは、権限、モデル、思考モードなどの技術的な動作を制御する設定ファイルです。この記事では、3つのスコープ(User・Project・Enterprise)の使い分けから、パーミッションのワイルドカード、CLAUDE.mdとの役割分担まで、実践的な設定例を交えて解説します。
settings.jsonの3つのスコープ
settings.jsonには、適用範囲が異なる3つのスコープがあります。

1. Userスコープ(グローバル)
~/.claude/settings.jsonに配置します。全てのClaude Codeセッションに共通で適用される個人用のデフォルト設定です。自分が常に使うモデルや言語設定をここに書きます。
2. Projectスコープ(チーム共有)
.claude/settings.jsonに配置します。gitでコミットすることで、チーム全員が同じ設定で作業できます。ツールの許可設定やMCPサーバーの接続先など、プロジェクト固有の設定を書きます。
また、.claude/settings.local.jsonというファイルもあります。これはgitにコミットしない個人用のプロジェクト設定で、Projectスコープより優先されます。
3. Enterpriseスコープ(組織管理)
組織のIT管理者が展開するManaged Settingsです。サーバー配信、MDMプロファイル、レジストリポリシー、ファイルベースなどの方法で展開され、他のスコープで上書きできない最優先の設定です。セキュリティポリシーの強制適用などに使われます。
優先順位
設定の優先順位は以下の通りです。
- Managed Settings(最高優先・上書き不可)
- コマンドライン引数
.claude/settings.local.json(個人プロジェクト).claude/settings.json(チームプロジェクト)~/.claude/settings.json(グローバル・最低優先)
重要なのは、denyルールは最高の安全優先度を持つという点です。下位スコープのallowやaskルールで上書きできません。
パーミッション設定の実践
settings.jsonで最も頻繁に設定するのがパーミッション(permissions)です。どのツールを許可するかを制御します。
ワイルドカードの活用
パーミッション設定ではワイルドカード(*)が使えます。これが実務で非常に便利です。
たとえばMicroCMSのMCP操作を全て許可する場合、個別にmcp__microcms__microcms_get_list、mcp__microcms__microcms_create_content_draftと書く代わりに、mcp__microcms__*と書くだけでまとめて許可できます。
同様に、Bashコマンドもワイルドカードで細かく制御できます。Bash(npm run *)と書けばnpm run系のコマンドだけを許可、Bash(git *)でgitコマンドだけを許可、といった具合です。
実務での設定例
私が実際に使っている設定では、以下のようなツールを許可しています。
- 基本ツール:Read、Write、Edit、Glob、Grep
- Bashコマンド:npm run、git、node、python3、curl、ls、mkdirなどを個別に許可
- エージェントツール:WebFetch、WebSearch、Agent、Skill
- MCP:
mcp__microcms__*、mcp__supabase__*をワイルドカードで許可
このように、必要なツールを明示的に許可することで、毎回の許可確認ダイアログを減らし、作業のスピードが大幅に向上します。
モデルと思考の設定
model設定
modelフィールドで使用するモデルを指定できます。"opus"、"sonnet"、"haiku"などのエイリアスか、フルモデルIDも使えます。
私はプロジェクトのsettings.jsonで"model": "opus"を指定しています。複雑な業務(記事執筆、大規模実装)にはOpus、単純作業にはCodexや他のツールという使い分けをしています。
thinking設定
"thinking": trueを設定すると、Claudeの拡張思考(Extended Thinking)が有効になります。複雑なタスクでは精度が向上しますが、トークン消費も増えるため、プロジェクトの特性に応じて判断します。
私のプロジェクトではthinkingを有効にしています。記事執筆やコーディングなど、複雑な判断を伴う業務が多いためです。
その他の主要設定
language
"language": "japanese"でClaudeの応答言語を日本語に指定できます。これはグローバルsettings.jsonに設定しておくと便利です。
cleanupPeriodDays
セッションの保持期間を日数で指定します。デフォルトは30日です。長期プロジェクトで過去のセッションを参照したい場合は、より長い期間に設定するとよいでしょう。
autoUpdatesChannel
"stable"または"latest"から選べます。安定性重視ならstable、最新機能をいち早く使いたいならlatestを選びます。
CLAUDE.mdとsettings.jsonの役割分担
CLAUDE.mdとsettings.jsonは混同されやすいですが、役割は明確に異なります。
CLAUDE.mdに書くこと
- プロジェクトの概要・コンテキスト
- ディレクトリ構成の説明
- ワークフローや業務手順
- 禁止事項・ビジネスルール
- データの所在と用途
settings.jsonに書くこと
- ツールの許可・拒否設定
- モデル指定
- 拡張思考の有無
- MCPサーバーの接続設定
- セッションのクリーンアップ期間
一言でまとめると、CLAUDE.mdは「何をするか」の知識、settings.jsonは「どう動くか」の技術設定です。
よくある失敗は、CLAUDE.mdに「このツールを使っていい」「モデルはOpusを使え」といった技術設定を書いてしまうことです。これらはsettings.jsonに書かないと確実には反映されません。
企業導入での設定戦略
企業でClaude Codeを導入する場合、Managed Settingsを活用することでセキュリティポリシーを強制適用できます。
- 特定のツールをdenyに設定して、社員が解除できない制限をかける
- 使用可能なモデルを制限して、コストを管理する
- MCPサーバーの接続先を制限して、データ漏洩を防止する
Managed Settingsはサーバー配信、MDMプロファイル、レジストリポリシー、ファイルベースの4つの方法で展開できます。さらに、drop-inディレクトリ(managed-settings.d/)を使えば、ポリシーを独立したファイルで管理できます。
まとめ
Claude Code settings.jsonの設定ポイントをまとめます。
- 3つのスコープ(User・Project・Enterprise)を理解し、適切な場所に設定を書く
- ワイルドカードでMCPやBashの権限を効率的に管理する
- modelとthinkingをプロジェクトの特性に応じて設定する
- CLAUDE.mdとの役割分担を明確にし、技術設定とプロジェクト知識を混同しない
- 企業導入ではManaged Settingsでセキュリティポリシーを強制する
settings.jsonを正しく設定することで、毎回の許可確認ダイアログが減り、作業のスピードが大幅に向上します。CLAUDE.mdとの役割分担を意識して、それぞれの強みを活かした設定を行ってください。
御社の業務に合わせたClaude Code導入支援
「AIツールを導入したが、現場で使われない」を終わらせる。
業務課題のヒアリングから設計、ハンズオン実践、運用定着まで一貫して支援します。