一行要約
設定は managed → CLI 引数 → local → project → user の5層で解決され、permission ルールなどの配列はレイヤ間でマージ、スカラーは上位が勝つ。そしてほとんどの設定は再起動なしに反映される(model と outputStyle は例外)。
要点
スコープと優先順位
| スコープ | 場所 | 優先度 |
|---|---|---|
| Managed | サーバ配信、plist/レジストリ、managed-settings.json | 1(最高) |
| Command line | CLI フラグ | 2 |
| Local | .claude/settings.local.json | 3 |
| Project | .claude/settings.json | 4 |
| User | ~/.claude/settings.json | 5(最低) |
- 上位スコープが下位を上書きする。 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 が必要。起動時に一度だけ読まれる) |
outputStyle | system prompt の一部。起動時に読まれる |
autoCompactWindow | 自動 compaction までの context サイズ(100k〜1M トークン) |
autoCompactEnabled | 上限接近時の自動 compaction(既定 true) |
cleanupPeriodDays | N 日より古いセッションファイルを削除(既定 30) |
disableAllHooks | 全 hook とカスタムステータス行を無効化 |
enabledPlugins | managed 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-modes —
defaultMode - hooks-guide / hooks —
hooksキー - memory —
claudeMdExcludes、autoMemoryEnabled、autoMemoryDirectory - context-window —
autoCompactWindowの受け付ける値と上書き順 - costs — 環境変数によるコスト制御
- large-codebases —
worktree.sparsePaths、additionalDirectories
未取得の派生リンク
- https://code.claude.com/docs/en/env-vars — 環境変数の完全な一覧
- https://code.claude.com/docs/en/cli-reference — CLI フラグ
- https://code.claude.com/docs/en/server-managed-settings — サーバ配信の managed settings
- https://json.schemastore.org/claude-code-settings.json — JSON Schema