Claude Codeのsettings.json設定ファイルの階層と主な設定項目の考え方
Claude Codeの動作は、settings.jsonなどの設定ファイルで管理します。ユーザー・プロジェクト・ローカルの階層、主な設定項目(権限・フック・環境変数・モデル)、優先順位の考え方、共有するときの注意を、公式ドキュメントを前提に整理します。
公的機関・公式資料などの一次情報と照合して作成しています。このサイトについて
Claude Codeのsettings.jsonとは
Claude Codeの動作(権限、フック、環境変数、使用するモデルなど)は、JSON形式の設定ファイル(settings.json)で管理できます。設定ファイルは複数の場所に置け、ユーザー全体・プロジェクト・自分だけといった範囲(スコープ)ごとに、使い分けます。設定できる項目・ファイルの場所・優先順位は、更新されることがあります。ここでは、全体の考え方を整理しますので、具体的な書式は、公式ドキュメントで確認してください(権限設定とパーミッションモード、フック(Hooks))。
設定ファイルの階層(スコープ)
| 階層 | 用途 | 共有 |
|---|---|---|
ユーザー設定(~/.claude/settings.json) |
自分の、すべてのプロジェクトに共通する設定 | しない(自分のPCのみ) |
プロジェクト設定(.claude/settings.json) |
そのプロジェクトで、チーム全員が揃えたい設定 | する(Gitで管理) |
ローカルのプロジェクト設定(.claude/settings.local.json) |
自分だけの、そのプロジェクト固有の設定 | しない(Gitの管理対象から外す) |
| 組織の管理設定 | 組織が一括して適用する設定(提供される場合) | 組織が配布 |
複数の階層に同じ項目がある場合は、公式ドキュメントでは、組織の管理設定 → コマンドラインの指定 → ローカルのプロジェクト設定 → プロジェクト設定 → ユーザー設定の順に優先されると説明されています(2026年10月時点)。権限のルールなど、項目によっては階層をまたいで組み合わされるものもあるため、詳細は公式で確認してください。
主な設定項目(例)
| 項目の種類 | 内容 | 関連記事 |
|---|---|---|
| 権限 | 許可・確認・拒否のルール | 権限設定とパーミッションモード |
| フック | 特定のタイミングで実行する処理 | フック(Hooks) |
| 環境変数 | Claude Code実行時に設定する変数 | |
| モデル | 既定で使うモデル | モデルの選択と切り替え |
| MCPサーバー | 接続する外部ツール(サーバーの定義そのものは、.mcp.jsonや~/.claude.jsonに保存される) |
Claude CodeでMCPを使う |
| 出力・表示 | 表示の設定、出力スタイルなど | 出力スタイルとステータスライン |
| 通知・動作 | 動作に関する各種の挙動 |
項目名・値の書式は、バージョンにより変わることがあります。設定の例は、公式の最新のページから、取得してください。
設定の確認と変更
| 方法 | 内容 |
|---|---|
/config |
対話画面から、テーマ・モデル・出力スタイルなど、主な個人設定を確認・変更する(すべての項目が並ぶわけではない。スラッシュコマンド) |
/permissions |
権限のルールを確認・編集する |
/hooks |
設定済みのフックを確認する(閲覧用。編集は設定ファイルで行う) |
| ファイルを直接編集 | エディタで、JSONを編集する |
ファイルを直接編集する場合は、JSONの書式(カンマ、括弧、引用符)に注意してください。書式が壊れていると、設定が読み込まれないことがあります。編集前に、バックアップを取ると安心です。
書式の基本(JSON)
{
"permissions": {
"allow": [],
"deny": []
},
"env": {
"EXAMPLE_VARIABLE": "value"
}
}
| 注意点 | 内容 |
|---|---|
| 最後の項目の後ろにカンマを付けない | JSONの決まり |
| 文字列は、二重引用符で囲む | 一重引用符は使えない |
| コメントは書けない | JSONでは、原則コメントを書けない |
| 書式の検証 | エディタやツールで、JSONの書式を確認する |
上は、書式を示すための、概念的な例です。実際の項目名は、公式ドキュメントで確認してください。
チームでの運用
| 運用 | 内容 |
|---|---|
| プロジェクトの設定をGitで共有 | チーム全員が、同じ権限・フック・規約を使う |
| レビューする | 設定の変更は、コードと同様に、レビューを通す |
| ローカル設定で個人差を吸収 | 個人の好みは、共有しない設定に |
| 変更の理由を記録 | なぜその設定か、コミットメッセージや文書に残す |
Claude Codeのsettings.jsonの注意点
| 注意点 | 内容 |
|---|---|
| 秘密情報を書かない | トークン・パスワードを、共有される設定ファイルに書かない |
| 他人の設定の取り込み | 出所不明の設定は、権限・フックの中身を確認してから使う(安全に使うための設定) |
| 設定の競合 | 階層間で、意図しない上書きが起きる。最終的な状態を確認する |
| バージョンの違い | 古い書式・廃止された項目に注意 |
| 設定が反映されない | 再起動、書式エラー、階層の優先順位を確認(困ったときの対処とデバッグ) |
Claude Codeのsettings.jsonの具体例
プロジェクト設定に、テストとリンターの実行を許可し、.envの読み取りを拒否する権限ルールを書いてGitで共有すれば、チーム全員が、同じ安全基準で作業できます。個人の好みの設定(表示など)は、ユーザー設定に置き、チームの設定とは分けると、管理が簡単です。
Claude Codeのsettings.jsonのFAQ(よくある質問)
Q. 設定ファイルは、どこにありますか?
A. ユーザー設定は~/.claude/settings.json、プロジェクト設定は.claude/settings.json、ローカルのプロジェクト設定は.claude/settings.local.jsonです(2026年10月時点)。組織の管理設定の場所はOSにより異なるため、公式ドキュメントで確認してください。
Q. 設定を変えても反映されません。
A. JSONの書式エラー、階層の優先順位、再起動の必要性を確認してください。
Q. 設定を元に戻したいです。
A. バックアップから戻すか、該当の項目を削除してください。Gitで管理していれば、履歴から戻せます。
筆者の見解(Claude Codeのsettings.json)
設定ファイルは、「自分たちの作業ルールを、機械が読める形で書いたもの」だと思います。CLAUDE.mdが「人間にも読める説明」だとすれば、settings.jsonは「確実に守らせる仕組み」です。この役割分担を意識すると、設定の置き場所に迷わなくなります。
Claude Codeのsettings.jsonの関連項目
出典(一次情報)
本記事は一般的な情報の提供を目的としています。AIのサービス・機能・料金・仕様は頻繁に更新されるため、最新の内容は各社の公式ドキュメントでご確認ください。「筆者の見解」は一つの考え方です。