Claude Code settings.json入門|設定ファイルと優先順位

公開 更新 著者 永上裕之導入とルール
4枚の設定ファイルが階段のように重なり、上の段ほど強く効く様子を説明しているイメージ

この記事の要点

  • 設定ファイルは「自分用」「チーム共有」「このプロジェクトの自分用」「組織の管理」の4種類。置いた場所で効く人の範囲が決まる
  • 同じ項目は上の段が勝つ。強い順に 組織の管理 → コマンドラインの --settings → プロジェクトの自分用 → チーム共有 → 自分用
  • 書いたら /status の Setting sources で読み込まれたか確かめる。効かないときは上の段の上書き・書けない場所・JSONの壊れを疑う

Claude Code を使い込むと、「最初に使うモデル」「確認なしで実行してよいコマンド」「読ませたくないファイル」など、決めておきたいことが増えてきます。こうした決まりごとを書いておく場所が settings.json などの設定ファイル です。

この記事では、公式ドキュメント「Settings files and precedence」(2026年11月1日確認)にもとづいて、どのファイルに何を書くか、同じ項目を複数の場所に書いたらどれが効くかを、表を中心に整理します。

結論:置き場所で「効く人」が決まる

設定ファイル選びで迷ったら、「この決まりを誰に効かせたいか」 で選びます。自分だけならホームの ~/.claude/settings.json、チーム全員ならプロジェクトの .claude/settings.json、このプロジェクトで自分だけなら .claude/settings.local.json です。

種類ファイル効く範囲向いている中身
自分用~/.claude/settings.jsonこのパソコンのすべてのプロジェクトで自分に見た目のテーマ、既定のモデル、自分の許可ルール
チーム共有.claude/settings.jsonそのフォルダで作業する全員(git にコミットすれば仲間にも届く)チームの許可ルール、フック、プラグイン、必要な環境変数
プロジェクトの自分用.claude/settings.local.jsonこのプロジェクトで自分だけ1つのプロジェクトだけの個人の上書き、共有前のお試し
組織の管理managed-settings.json など組織が配った全員セキュリティ方針や守るべき決まり

表の ~/.claude はホームフォルダの中の .claude、先頭に ~/ が付かない .claude はプロジェクトの中の .claude を指します。

なお、インストールしただけでは設定ファイルは作られません。/config でテーマなどを変えたとき、または確認画面で「Yes, and don't ask again」を選んだときに、Claude Code が自分で作ります。

優先順位:上の段が勝つ

同じ項目が複数の場所にあるときは、いちばん上の段の値が使われます。 強い順に並べると次のとおりです。

順位段ひとこと
1組織の管理(managed settings)自分のファイルや --settings では上書きできない
2コマンドライン(--settings)その回の起動だけ有効。ファイルには書き込まない
3プロジェクトの自分用(.claude/settings.local.json)チーム共有より強い
4チーム共有(.claude/settings.json)自分用より強い
5自分用(~/.claude/settings.json)いちばん弱い

たとえば、チームのファイルで "model": "claude-sonnet-5" となっていても、自分だけ別のモデルにしたいなら、.claude/settings.local.json に "model" を書けば自分のセッションだけが変わります。

環境変数はこの段のどこにも入りません。たとえばシェルで設定した ANTHROPIC_MODEL は、どのファイルの model よりも優先されます。どちらが勝つかは項目ごとに決まっています。

リストは「足し算」になる

permissions.allow のようなリストの項目は、上書きではなく合わさります。 チームのファイルと自分のファイルの両方に許可ルールを書けば、両方が効きます。許可ルールの書き方は Claude Codeの権限設定 で解説しています。

ただし fallbackModel や modelPicker など、モデルの一覧を持つ一部の項目は、いちばん上の段の値をまるごと使うなど、別の決まりで動きます。

書き方:3つの変え方

ふだんは /config で変え、細かい項目はファイルを直接書き、お試しは起動時に1回だけ指定する と覚えると迷いません。

変え方例保存されるか
/config メニューテーマ、エディタの操作方法、詳しい表示多くは ~/.claude/settings.json に保存
ファイルを直接編集許可ルール、フックなど編集したファイルに保存
起動時の指定claude --settings '{"model": "claude-opus-5-5"}'保存されない(その回だけ)

ファイルを直接書くときは、厳密なJSON で書く点に注意します。// のコメントや、最後の要素の後ろのカンマはエラーになります。先頭に "$schema": "https://json.schemastore.org/claude-code-settings.json" を書いておくと、対応するエディタで入力の補完やチェックが効きます。

{
  "$schema": "https://json.schemastore.org/claude-code-settings.json",
  "permissions": {
    "allow": ["Bash(npm run lint)", "Bash(npm run test *)"],
    "deny": ["Read(./.env)", "Read(./.env.*)"]
  }
}

書いたらすぐ効くもの・再起動が要るもの

多くの項目は保存した時点で、動いているセッションに反映されます。 許可ルールやフックの変更もそうです。一方で model や effortLevel は起動時に1回だけ読まれるため、途中で変えたいときは /model や /effort を使います。モデルを切り替えると会話の読み直しが起きる点は プロンプトキャッシュの記事 で説明しています。

確かめ方:/status を見る

設定を書いたら /status を開き、Setting sources の行に目的のファイルが出ているかを確かめます。 この行は「どのファイルを読んだか」を示すもので、どの項目がどのファイルから来たかまでは出ません。読み込めなかった項目を一覧で見たいときは claude doctor を使います。

JSONが壊れていると、起動時に Settings Error(ファイル全体の問題)や Settings Warning(一部の項目だけの問題)が出ます。Warning のときは、問題の項目だけ飛ばして残りは効いたままです。

効かないときの見直し表

症状まず疑うこと
書いた値が無視される上の段(組織の管理・--settings・環境変数)が同じ項目を決めていないか
チーム共有に書いた値が仲間に効かないその項目がリポジトリのファイルでは効かない種類ではないか/仲間がフォルダを信頼済みか
bypassPermissions や auto が効かないプロジェクトのファイルでは効かない。自分用か組織の管理に書く
/model で変えた既定が次回に戻る自分用ファイルに書き込めない状態になっていないか
JSONを直したのに反映されないコメントや末尾のカンマが残っていないか

チーム共有の .claude/settings.json に書いた permissions.allow や多くの env は、仲間がそのフォルダを信頼するまで効きません。 一方で deny と ask のルールはすぐに効きます。守りのルールが先に効く作りです。共有のフックの作り方は Claude Codeのフック を参考にしてください。

クラウドで動かすときの違い

クラウドのセッションでは、自分用とプロジェクトの自分用のファイルは読まれません。 手元のパソコンにあるファイルだからです。リポジトリにコミットしたチーム共有のファイルは、リポジトリ1つのセッションなら読まれます。設定を変えたいときは、クラウドの環境に環境変数を設定する方法もあります。

まとめ

出典

永上裕之

ユニコスクール株式会社 代表取締役。AIエージェント専門のスクール&コミュニティを運営しています。

この記事はAIを使って下書きし、著者が事実確認・加筆しています。ツールの機能や料金は変わることがあるため、最新の情報は各社の公式ページでご確認ください。

関連する記事