Skip to content

原文(日本語に翻訳)

forceRemoteSettingsRefresh ポリシー設定を追加:設定するとCLIはリモート管理設定が最新の状態で取得されるまで起動をブロックし、取得に失敗した場合は終了します(フェイルクローズ)

原文(英語)

Added forceRemoteSettingsRefresh policy setting: when set, the CLI blocks startup until remote managed settings are freshly fetched, and exits if the fetch fails (fail-closed)

概要

forceRemoteSettingsRefresh は、企業・チーム環境においてリモート管理設定の整合性を保証するためのポリシー設定です。このオプションを有効にすると、Claude Codeの起動時に最新のリモート設定を取得するまで処理を待機し、取得に失敗した場合はアプリケーション自体を終了します。フェイルクローズ(失敗時に閉じる)の原則に基づき、古い設定での動作を防止します。

基本的な使い方

settings.json のポリシー設定に追加します:

json
{
  "policies": {
    "forceRemoteSettingsRefresh": true
  }
}

設定後、CLIは起動時にリモート設定サーバーへ接続し、最新の設定を取得してから処理を開始します。

実践例

エンタープライズ環境での強制ポリシー適用

組織のセキュリティポリシーやツール制限を確実に反映させたい場合に使用します:

json
// ~/.claude/settings.json(管理者が配布)
{
  "policies": {
    "forceRemoteSettingsRefresh": true,
    "managedSettingsUrl": "https://your-company.com/claude-policies"
  }
}

起動時の動作:

  1. リモートサーバーへの接続を試みる
  2. 設定取得成功 → 最新ポリシーを適用して起動
  3. 設定取得失敗 → CLIを終了(古い設定での動作を防止)

CI/CDパイプラインでの利用

コンプライアンスが必須の自動化環境での例:

bash
# CI環境での実行スクリプト
export CLAUDE_SETTINGS_URL="https://ci.example.com/claude-settings"
claude --print "コードレビューを実行してください"

# ネットワーク障害などで設定取得に失敗した場合、
# forceRemoteSettingsRefresh=true なら非ゼロで終了
if [ $? -ne 0 ]; then
  echo "設定取得失敗:セキュリティポリシーを適用できませんでした"
  exit 1
fi

設定の優先順位確認

bash
# 現在適用されているポリシーを確認
claude /config

# または環境変数で設定URLを指定
CLAUDE_MANAGED_SETTINGS_URL="https://example.com/settings" claude

注意点

  • ネットワーク依存: この設定を有効にすると、ネットワークが利用できない環境ではCLIが起動しません。オフライン環境では使用しないでください
  • フェイルクローズの動作: 意図的にフェイルクローズ(fail-closed)設計です。セキュリティポリシーの観点から、古い設定での動作よりも起動失敗を優先します
  • タイムアウト: リモート設定の取得にはネットワーク遅延が影響します。遅いネットワーク環境では起動時間が長くなる可能性があります
  • 企業向け機能: 主に管理者がチーム全体に展開するためのポリシー設定です。個人利用では通常不要です

関連情報