一行要約

設定は managed → CLI 引数 → local → project → user の5層で解決され、permission ルールなどの配列はレイヤ間でマージ、スカラーは上位が勝つ。そしてほとんどの設定は再起動なしに反映されるmodeloutputStyle は例外)。

要点

スコープと優先順位

スコープ場所優先度
Managedサーバ配信、plist/レジストリ、managed-settings.json1(最高)
Command lineCLI フラグ2
Local.claude/settings.local.json3
Project.claude/settings.json4
User~/.claude/settings.json5(最低)
  • 上位スコープが下位を上書きする。 managed settings は(一部の例外を除いて)上書きできない
  • permission ルールはスコープ間でマージされる。 それ以外の設定は優先順位に従う
  • project の .claude/settings.json の allow ルールは workspace trust を要求する。 .claude/settings.local.json(自分のファイル)は要求しない
  • managed settings の不正なエントリは strip され、正当なポリシーは有効なまま(v2.1.169 以降)
  • Claude Code は **/.claude/settings.local.json をグローバルの git excludes に自動追加する

反映タイミング

ほとんどの設定はライブでリロードされる(permissions、hooks、env)。再起動が要るもの:

設定代替手段
model/model を使う
outputStyle/clear で再構築される

よく使う設定

キー意味
permissions.allow / permissions.deny許可 / 拒否のルール
model主モデル
env全セッションとサブプロセスに適用される環境変数
hooksイベントで発火するハンドラ
statusLineカスタムステータス行(hook が必要。起動時に一度だけ読まれる
outputStylesystem prompt の一部。起動時に読まれる
autoCompactWindow自動 compaction までの context サイズ(100k〜1M トークン
autoCompactEnabled上限接近時の自動 compaction(既定 true
cleanupPeriodDaysN 日より古いセッションファイルを削除(既定 30
disableAllHooks全 hook とカスタムステータス行を無効化
enabledPluginsmanaged settings で plugin を強制有効化

設定の操作

/config              # タブ付きの設定 UI
/config key=value    # 単一項目の変更(v2.1.181+)
/status              # 有効な設定がロードされているか確認
/doctor              # 解決後の設定と、strip されたエントリを見る

そのまま使える具体例

settings.json の実例($schema を書いておくとエディタで補完が効く):

{
  "$schema": "https://json.schemastore.org/claude-code-settings.json",
  "permissions": {
    "allow": [
      "Bash(npm run lint)",
      "Bash(npm run test *)",
      "Read(~/.zshrc)"
    ],
    "deny": [
      "Bash(curl *)",
      "Read(./.env)",
      "Read(./.env.*)"
    ]
  },
  "env": {
    "CLAUDE_CODE_ENABLE_TELEMETRY": "1",
    "OTEL_METRICS_EXPORTER": "otlp"
  },
  "autoCompactWindow": 500000,
  "cleanupPeriodDays": 20
}

設定が効かないときの調べ方:

/status     # ロードされているか
/doctor     # どのスコープの値が勝っているか、strip されたエントリはあるか

原典で言及されている関連文書

  • permissions — permission ルールの構文と、スコープをまたぐ deny の優先
  • permission-modesdefaultMode
  • hooks-guide / hookshooks キー
  • memoryclaudeMdExcludesautoMemoryEnabledautoMemoryDirectory
  • context-windowautoCompactWindow の受け付ける値と上書き順
  • costs — 環境変数によるコスト制御
  • large-codebasesworktree.sparsePathsadditionalDirectories

未取得の派生リンク