Files
claude-code-source-code/docs/ja/04-リモート制御とキルスイッチ.md
2026-04-01 18:55:02 +08:00

5.4 KiB
Raw Blame History

リモート制御およびキルスイッチ

インターネット上で公開されている資料やコミュニティの議論をもとに整理した Claude Code v2.1.88 分析レポート。

概要

Claude Codeは、公式管理者および企業管理者がシステムセキュリティと企業のコンプライアンスを確保するために、リモート構成を通じて特定のクライアントの動作を管理および更新できるリモート管理メカニズムを実装しています。

1. リモート管理設定

構成

対象セッションは以下から設定を取得する:

GET /api/claude_code/settings

出典: src/services/remoteManagedSettings/index.ts:105-107

ポーリング動作

// src/services/remoteManagedSettings/index.ts:52-54
const SETTINGS_TIMEOUT_MS = 10000
const DEFAULT_MAX_RETRIES = 5
const POLLING_INTERVAL_MS = 60 * 60 * 1000 // 1時間

設定は1時間ごとにポーリングされ、失敗時は最大5回リトライする。

対象資格

  • ConsoleユーザーAPIキー: 全員対象
  • OAuthユーザー: Enterprise/C4EおよびTeamサブスクライバーのみ

強制承認ダイアログ

リモート設定に「危険な」変更が含まれる場合、ブロッキングダイアログが表示される:

// src/services/remoteManagedSettings/securityCheck.tsx:67-73
export function handleSecurityCheckResult(result: SecurityCheckResult): boolean {
  if (result === 'rejected') {
    gracefulShutdownSync(1)  // 終了コード1で終了
    return false
  }
  return true
}

リモート設定を拒否するとアプリケーションが強制終了される。選択肢はリモート設定の承認またはClaude Codeの終了のみである。

障害時の動作

リモートサーバーに接続できない場合、ディスクキャッシュ設定が使用される:

// src/services/remoteManagedSettings/index.ts:433-436
if (cachedSettings) {
  logForDebugging('Remote settings: Using stale cache after fetch failure')
  setSessionCache(cachedSettings)
  return cachedSettings
}

リモート設定が一度適用されると、サーバー障害時もキャッシュが維持される。

2. Feature Flagキルスイッチ

GrowthBook feature flagにより複数の機能をリモート無効化できる:

パーミッションバイパスキルスイッチ

// src/utils/permissions/bypassPermissionsKillswitch.ts
// Statsigゲートを確認してパーミッションバイパスを無効化

ユーザーの同意なくパーミッションバイパス機能を無効化できる。

Autoモードサーキットブレーカー

// src/utils/permissions/autoModeState.ts
// autoModeCircuitBroken状態でautoモードへの再突入を阻止

Autoモードをリモートで無効化できる。

Fastモードキルスイッチ

// src/utils/fastMode.ts
// /api/claude_code_penguin_mode から取得
// 特定ユーザーのfastモードを永久に無効化可能

分析シンクキルスイッチ

// src/services/analytics/sinkKillswitch.ts:4
const SINK_KILLSWITCH_CONFIG_NAME = 'tengu_frond_boric'

すべての分析出力をリモートで停止できる。

Agent Teamsキルスイッチ

// src/utils/agentSwarmsEnabled.ts
// 環境変数とGrowthBookゲート 'tengu_amber_flint' の両方が必要

音声モードキルスイッチ

// src/voice/voiceModeEnabled.ts:21
// 'tengu_amber_quartz_disabled' — 音声モードの緊急停止

3. モデルオーバーライドシステム

カナリアテストを実施したり、予期せぬオンラインの状況に対応するために、システムは内部社員などの特定のグループに対してモデルバージョンを動的に切り替えることをサポートしています:

// src/utils/model/antModels.ts:32-33
// @[MODEL LAUNCH]: tengu_ant_model_overrideに新しいant専用モデルを更新
// @[MODEL LAUNCH]: コードネームをscripts/excluded-strings.txtに追加

tengu_ant_model_override GrowthBook flagで可能な操作:

  • デフォルトモデルの設定
  • デフォルト努力レベルの設定
  • システムプロンプトへの内容追加
  • カスタムモデルエイリアスの定義

4. Penguinモード

Fastモードの状態は専用エンドポイントから取得される:

// src/utils/fastMode.ts
// GET /api/claude_code_penguin_mode
// APIが無効を返した場合、該当ユーザーで永久無効化

Fastモードの可用性を制御するfeature flag:

  • tengu_penguins_off
  • tengu_marble_sandcastle

まとめ

メカニズム 対象範囲 ユーザー同意
リモート管理設定 Enterprise/Team 承認または終了
GrowthBook feature flag 全ユーザー なし
キルスイッチ 全ユーザー なし
モデルオーバーライド 内部ant なし
Fastモード制御 全ユーザー なし

リモート制御インフラは広範にわたります。企業管理者はユーザーが上書きできないポリシーを強制することができ、システムは重大な問題に対処するために、機能フラグfeature flagsを通じてすべてのユーザーの動作をリモートで変更できます。