Skip to content

原文(日本語に翻訳)

起動早期に読み込まれるフィーチャーフラグのディスクキャッシュが更新されず、古い値がセッションをまたいで持続していた問題を修正しました。

原文(英語)

Fixed feature flags read during early startup never refreshing their disk cache, causing stale values to persist across sessions

概要

Claude Codeの起動時に読み込まれるフィーチャーフラグ(機能の有効/無効を制御する設定値)のキャッシュが、一度保存されると以降のセッションでも古い値が使われ続けていました。フィーチャーフラグが更新されても反映されない問題が修正され、適切なタイミングでキャッシュが更新されるようになりました。

基本的な使い方

bash
# フィーチャーフラグは自動的に管理される
# ユーザーの操作は特に不要

claude
# 修正前: 古いフィーチャーフラグのキャッシュが使い続けられる
# 修正後: 適切にキャッシュが更新され最新のフラグ値が使用される

実践例

フィーチャーフラグの影響を受ける機能

bash
# フィーチャーフラグで制御される機能の例:
# - 新しいUI要素の有効化
# - 実験的な機能のロールアウト
# - A/Bテストの設定

# 修正前: 新機能がロールアウトされてもキャッシュのせいで反映されない
# 修正後: セッション間でフラグが正しく更新される

claude
# → 最新のフィーチャーフラグ設定が適用された状態で起動

キャッシュの更新タイミング

bash
# 修正後のキャッシュ更新の仕組み:
# 1. 起動時にキャッシュの有効期限を確認
# 2. 期限切れの場合はサーバーから最新のフラグを取得
# 3. 更新されたフラグをディスクキャッシュに保存
# 4. 次回起動時には更新されたキャッシュを使用

claude
# 透明な動作: ユーザーは意識せず常に最新の設定で動作

トラブルシューティング

bash
# フィーチャーフラグの問題をデバッグする場合
claude --debug

# デバッグログでフラグの読み込み状況を確認
# "feature_flags: loaded from cache" → キャッシュから読み込み
# "feature_flags: refreshed from server" → サーバーから更新

注意点

  • フィーチャーフラグはAnthropicがClaude Codeの機能を段階的にロールアウトするために使用します
  • ユーザーが直接フィーチャーフラグを設定・変更することはできません
  • この修正により、新機能が有効になったタイミングで確実に反映されるようになります
  • ネットワーク接続がない場合はキャッシュから読み込まれますが、次回接続時に更新されます
  • フィーチャーフラグのキャッシュは通常のユーザー設定とは別のシステムです

関連情報