Claude Code の settings.json の例:公式サンプル3種の読み方と書き方

結論

  • 執筆時点(2026年10月)の公式ドキュメントには、個人用 ~/.claude/settings.json、チーム用 .claude/settings.json、組織用 managed-settings.json の3種類のサンプルがあります。
  • どのサンプルも、コピーして必要なキーだけ残し、値を変えるための例です。推奨の基準設定ではありません。
  • コメント付きのタブは読む用で、設定ファイルにコメントは書けません。コピーするのはコメントなしのタブからです。

サンプルは3種類:置き場所で使い分ける

Claude Code(Anthropic 社が提供する、ターミナルで動く AI コーディングエージェント)の設定ファイル settings.json について、公式ドキュメントに「Example settings files」というページがあります。開発者個人、チーム、組織それぞれに合った、現実的な例が載っています。

  • 個人:~/.claude/settings.json
  • チーム(リポジトリにコミット):.claude/settings.json
  • 組織:managed-settings.json

公式ドキュメントによると、どの例もその立場の人が書きそうなファイルで、形を見て必要な部分をコピーするためのものです。推奨の基準設定ではありません。各キーの型、既定値、設定できる場所は、設定リファレンスの各キーの項目で確認します。

各例にはタブが2つあります。Copyable settings file はそのまま保存する版、What each key does は各キーの上にコメントを付けた版です。Claude Code は設定ファイルのコメントを受け付けないため、コピーは最初のタブから行います。

出典: Example settings files

個人用 ~/.claude/settings.json の例

個人用の例は、モデルと effort の水準を選び、ターミナルを調整し、読み取り専用のコマンド1つとファイル読み取り1つを事前承認するものです。書かれていないキーは既定値のままです。~/.claude/settings.json に置くと、開いたすべてのプロジェクトに適用されます。

  • model:毎回のセッションを claude-sonnet-5 で始めます。
  • modelSettings:Sonnet 5 の effort を、既定の high より上の xhigh にします。
  • editorMode、theme:プロンプトで vim のキー操作を使い、色覚に配慮した明るいテーマ(light-daltonized)にします。
  • statusLine:プロンプトの下にモデル名と使用済みコンテキストを表示します。
  • cleanupPeriodDays:20日より古いセッションの記録などのローカルデータを削除します。

権限は次の部分です。git diff の実行と .zshrc の読み取りを、確認なしで許可します。

  "permissions": {
    "allow": [
      "Bash(git diff *)",
      "Read(~/.zshrc)"
    ]
  },

出典: Example settings files

チーム用 .claude/settings.json の例とコミット前の注意

チーム用の例は、リポジトリにコミットして、クローンした全員が同じ権限、フック、プラグインマーケットプレイスを使えるようにするものです。リポジトリの最上位の .claude/settings.json に置きます。権限の部分は、Bash(npm run *) を allow、Bash(git push *) を ask、.env 系と secrets フォルダの読み取りを deny にしています。

    "ask": [
      "Bash(git push *)"
    ],
    "deny": [
      "Read(./.env)",
      "Read(./.env.*)",
      "Read(./secrets/**)"
    ]

enabledPlugins でマーケットプレイスのプラグインを有効にする例もあります。ただし、GitHub リポジトリのような外部ソースのプラグインは、各自が一度インストールする必要があります。

コミット前に知っておくこと

  • クラウドセッションも読みます。クラウドセッションはリポジトリのクローンから始まるため、コミットしたファイルがそこでも適用されます。
  • テレメトリは管理設定か個人設定に書きます。リポジトリの設定ファイルに書いた OpenTelemetry エクスポーターの変数は、テレメトリを切る一部の値を除き、Claude Code に無視されます。
  • allow ルールと extraKnownMarketplaces は、各自がそのフォルダ自体を信頼してから有効になります。親フォルダの信頼だけでは足りません。deny と ask は、信頼の有無にかかわらず適用されます。
  • この例のフックは、リポジトリ内のスクリプト .claude/hooks/block-rm.sh を実行します。
  • ルールは、コマンドやパスが書かれたとおりのときに一致します。Bash(git push *) は git -C . push に一致しません。Read(./.env) だけでは、ファイルツールや cat .env のようにファイル名を指定するコマンドは止まりますが、ディレクトリ全体への grep -r は止まりません。この例は sandbox ブロックでその穴を塞いでいます。

出典: Example settings files

組織用 managed-settings.json の例

組織用の例は、管理キーの形を示すもので、各キーに妥当な値を1つずつ入れてあります。公式ドキュメントは、推奨ポリシーではないとしており、自社の要件に合うキーを選んで自分の値を設定するよう書いています。サンプルの組織 UUID、サーバー URL、マーケットプレイスは自社のものに置き換えます。

配布は、managed-settings.json として置くか、同じ JSON を MDM(端末の一括管理ツール)やサーバー管理設定で行います。配布した1つのファイルは、届いたすべてのマシンまたはアカウントに適用されます。サーバー管理設定はグループごとのポリシーにまだ対応していないため、グループで値を変えるには別のファイルかプロファイルを配布します。

例に入っているキーの一部

  • forceLoginMethod、forceLoginOrgUUID:ログイン方法と組織を固定します。
  • availableModels、enforceAvailableModels:使えるモデルを opus と sonnet に制限します。後者を付けると、Default の選択肢も一覧に従います。
  • permissions.deny、disableBypassPermissionsMode:Bash(curl *) などを拒否し、バイパス権限モードを外します。
  • allowManagedPermissionRulesOnly:ユーザー、プロジェクト、ローカル設定の権限ルールを無視します。
  • allowedMcpServers:MCP サーバーを名前ではなく URL で指定します。利用者は任意のサーバーに github と名付けられるためです。
  • strictKnownMarketplaces:プラグインの取得元を1つのマーケットプレイスに限ります。
  • requiredMinimumVersion:2.1.150 より古いバージョンでは起動しません。
  • cleanupPeriodDays:ローカルデータの保持を7日にします。
  • companyAnnouncements:起動時に全員へメッセージを表示します。

sandbox は、Claude Code が実行するコマンドをサンドボックスで動かし、準備できなければ起動を拒否し、ブロックされたコマンドのサンドボックス外での再試行も許さない設定です。ネットワークは npm と GitHub に限り、利用者はドメインを追加できません。

  "sandbox": {
    "enabled": true,
    "failIfUnavailable": true,
    "allowUnsandboxedCommands": false,
    "network": {
      "allowedDomains": [
        "registry.npmjs.org",
        "github.com"
      ],
      "allowManagedDomainsOnly": true
    }
  },

出典: Example settings files

よくある質問

settings.json にコメントを書いてもよいですか?

公式ドキュメントによると、Claude Code は設定ファイルのコメントを受け付けません。各例の「What each key does」タブはコメント付きの読む用で、コピーはコメントなしの「Copyable settings file」タブから行います。

出典: Example settings files

チームの settings.json に書いた allow ルールは、クローンした全員にすぐ効きますか?

公式ドキュメントによると、allow ルールと extraKnownMarketplaces は、各自がそのフォルダ自体を信頼してから有効になります。親フォルダの信頼だけでは足りません。deny と ask のルールは、信頼の有無にかかわらず適用されます。

出典: Example settings files

組織用のサンプルは、そのまま全社に配ってよいですか?

公式ドキュメントは、推奨ポリシーではないとしています。自社の要件に合うキーを選び、値を自分で設定します。組織 UUID、サーバー URL、マーケットプレイスは自社のものに置き換えます。グループごとに値を変えたい場合は、そのグループに別のファイルかプロファイルを配布します。

出典: Example settings files

関連する無料ツール

Claude Code 権限設定(settings.json)ジェネレーター: deny / ask / allow のルールを選ぶと、置き場所つきで settings.json を出力します。配る前の設定の下書きに使えます。

参考(執筆時点)

この記事は、上の出典の内容を中小DXラボが要約・再構成したものです。仕様は変わることがあります。社内で使う・配る前に、公式ドキュメントで最新の情報を確認してください。