CC逆引きリファレンス

読み込む設定ソースを限定したい

12. CI/CD・自動化

コマンド / 機能

--setting-sources user,project,local

settings.json の読み込み元を制御

概要

--setting-sources で user/project/local のどの設定階層を読み込むか限定できます。--settings では特定の設定ファイルパスや JSON 文字列を直接指定して設定を差し替えられます。CI やサンドボックス環境で意図しない設定の混入を防ぐのに便利です。

設定例

# ユーザー設定とプロジェクト設定のみ読み込む(ローカル設定を無視)
claude --setting-sources user,project

# プロジェクト設定のみ
claude --setting-sources project

# 特定の設定ファイルを直接指定
claude --settings ./ci-settings.json

# JSON文字列を直接渡す
claude --settings '{"permissions":{"allow":["Bash(npm test)"]}}'
公式ドキュメントを見る

こんな時に使う

  • CI で個人のローカル設定を混入させたくない時
  • 特定の設定ファイルだけを使ってテストしたい時
  • 再現性のある設定で実行したい時

使い方

  1. 1--setting-sources に user,project,local のカンマ区切りで指定
  2. 2省略した階層は読み込まれない
  3. 3--settings <path|json> で設定内容そのものを差し替え

Tips

  • --safe-mode は全カスタマイズを無効化、--setting-sources は階層を選んで無効化
  • CI では --setting-sources project のみにすると再現性が上がる
  • --settings に渡した内容が最優先で適用される