Claude Code v2.1.166 — フォールバックモデルが対話セッションでも効くように
Claude Code v2.1.166は、最大3つのフォールバックモデルが対話セッションでも効くようになり、権限の拒否ルールにglobを追加した版です。誰の運用に効くかを早見表で示します。
Claude Code v2.1.166では、主モデルが混雑したり利用できなくなったりしたときに最大3つの代替モデルを順に試すfallbackModel設定が、対話セッションでも効くようになりました。あわせて権限の拒否ルールにツール名のglob指定が入り、別セッションから中継されたメッセージは権限を持たない扱いに変わっています。本稿では、この版で何が変わり、どの利用形態に効くのかを早見表とタイムラインで見ていきます。
このリリースで何ができるようになるか
このリリースの中核は、モデルのフェイルオーバー(障害時の切り替え)が日常の対話でも働くようになった点です。読者がまず把握したい変化は次の3つに絞れます。
第一に、fallbackModel設定で最大3つの代替モデルを順番に試せるようになりました。主モデルが過負荷(overloaded)や利用不可(unavailable)の状態でも、指定したモデルへ自動で切り替わります。第二に、--fallback-modelフラグが対話セッションにも適用されるようになりました。これまでは出力モード(-p)とバックグラウンドのセッションだけで有効で、対話セッションでは無視されていた挙動が変わっています。
第三に、権限の拒否ルールでツール名の位置にglobパターンが書けるようになりました。"*"を指定すると全ツールを拒否できます。許可(allow)ルールではMCP以外のglobは拒否され、拒否(deny)ルールに未知のツール名を書くと起動時に警告が出ます。フェイルオーバーと権限の両面で、運用時の取りこぼしを減らす方向の更新です。
あなたの開発フローはどう変わるか
最も体験が変わるのは、対話セッションで長く作業する利用者です。これまで--fallback-modelは対話セッションで無視されていたため、主モデルが混雑したときには手動でモデルを切り替えるか、エラーを見ながら待つしかありませんでした。本版からは対話中でも代替モデルへ自動で切り替わるため、混雑時間帯の作業の中断が起きにくくなります。
複数モデルを使い分けるチームには、最大3つまで順に試す挙動が効きます。1つ目の代替が使えなければ2つ目、それも駄目なら3つ目という順で切り替わるため、特定モデルの一時的な不調に運用全体が引きずられにくくなります。設定の詳しい書式は公式ドキュメントにまだ反映されていないため、本稿では「最大3つのモデルを順に試す設定」という挙動の範囲にとどめます。
権限を厳しく管理する環境では、拒否ルールの"*"指定が効きます。特定ツールを個別に列挙しなくても全ツールをまとめて拒否でき、起動時の未知ツール名の警告で設定ミスにも気づきやすくなります。マルチエージェントで複数セッションを並行運用する場合は、中継メッセージが権限を持たなくなった点が安全側の変化です。別セッションからSendMessageで送られてきたメッセージはユーザー権限を持たない扱いとなり、中継された権限要求は受信側で拒否され、自動(auto)モードではブロックされます。
主な変更点
機能追加が7項目、修正が14項目の構成です。ここからは技術的な内容を、誰の体験に効くかを添えて並べます。
機能追加
fallbackModel設定で最大3つの代替モデルを順に試行します。主モデルが過負荷または利用不可のときに切り替わり、--fallback-modelが対話セッションにも適用されるようになりました。混雑時間帯に作業する利用者に効きます。- 拒否ルールのツール名位置でglobパターンが使えます。
"*"で全ツールを拒否でき、許可ルールはMCP以外のglobを拒否、拒否ルールの未知ツール名は起動時に警告します。権限を細かく管理する運用者に効きます。 - クロスセッションメッセージングが強化されました。別セッションから
SendMessageで中継されたメッセージはユーザー権限を持たず、受信側は中継された権限要求を拒否し、自動モードはブロックします。マルチエージェント運用の安全性に関わります。 MAX_THINKING_TOKENS=0、--thinking disabled、モデル単位のthinking切り替えで、Claude API経由で既定でthinkingするモデルのthinkingを無効化できます。サードパーティ(3P)プロバイダ経由のモデルは従来どおり変わりません。推論の挙動を細かく制御したい利用者向けです。- APIが予期しない非リトライ可能エラーを返したとき、代替モデルで1回リトライします。認証(auth)、レート制限(rate-limit)、リクエストサイズ(request-size)、転送(transport)のエラーは対象外で、即時に表面化します。
claude updateがダウンロード前に対象バージョンを知らせるようになりました。従来は無言でダウンロードしていたため、更新内容を確認したい利用者に効きます。claude agentsの一覧にURLを入力すると、最初のプロンプトにそのURLを含むセッションへ絞り込めます。過去セッションを探す利用者の手間を減らします。
修正
主な修正は次のとおりです。利用環境ごとに効く相手が分かれます。
- 処理できない画像を送ったときの「image could not be processed」が繰り返し出て余分なトークンを使う問題を修正しました。
- 起動時のworker登録中に短いバックエンド障害が起きるとリモートセッションが恒久的にスタックする問題を修正しました。
- JetBrains系IDE(IntelliJ、PyCharm、WebStorm等)2026.1以降のターミナルのちらつきを、synchronized outputの有効化で抑えました。
- Kittyキーボードプロトコルを使うターミナル(WezTerm、Ghostty、kitty)で、Shiftと非ASCII文字の組み合わせ(例: Shift+ä → Ä)が落ちる問題を修正しました。
- Windowsで、終了したプロセスの子が出力パイプを握っているとPowerShellコマンドの検証が時間予算を大きく超えてハングする問題を修正しました。
- macOSで、デーモン終了後に接続したままだと孤立した
claude --bg-pty-hostプロセスがCPU100%で回り続ける問題を修正しました。 /voiceの切り替え後、音声モードが古い認証チェックをクリアするのに/loginを求めてくる問題を修正しました。
そのほか、無効なエントリを含む管理設定が残りの有効なポリシーの強制まで黙って無効化する問題、管理設定のallowedMcpServers/deniedMcpServersが${VAR}参照を使うと一致しない問題、git worktreeに入ったバックグラウンドエージェントのセッションがclaude agentsから再オープン時に「No conversation found」でクラッシュを繰り返す問題などが修正されています。Ctrl+Oのトランスクリプト表示でストリーミング中にthinkingテキストが重複する問題、リモートセッション内の/doctorが矛盾した失敗を表示する問題、claude agentsの入力でカーソルが1行目末尾に張り付く問題、Unicode非対応ターミナルでタスク一覧に余分な空行が出る問題も解消しました。
--fallback-modelが対話セッションのモデル切り替えをどう変えるか
この版の編集視点での核心は、--fallback-modelの適用範囲が広がったことだと読めます。変更前のCLIリファレンスでは、--fallback-modelは出力モード(-p)とバックグラウンドセッションで有効で、対話セッションでは無視されると明記されていました。本版でこの「対話セッションでは無視される」という制約が外れた形です。
# 主モデルが混雑・利用不可のとき指定モデルへ自動で切り替える
claude --fallback-model claude-sonnet-4-6設定ファイル側のfallbackModelでは、最大3つの代替モデルを順に試せます。混雑が連鎖したときでも、1つ目が駄目なら2つ目、2つ目も駄目なら3つ目という順でフェイルオーバーが進む挙動になります。具体的なJSON構造や配列の書式は公式ドキュメントにまだ載っていないため、本稿では挙動の説明にとどめます。
フェイルオーバーが働く条件には線引きがあります。代替モデルへのリトライは「APIが予期しない非リトライ可能エラーを返したとき1回だけ」です。認証エラー、レート制限、リクエストサイズ、転送エラーは対象外で、これらは即時に表面化します。つまり、すべての失敗が無条件で代替モデルに回るわけではなく、想定外のエラーに限って1回の切り替えが入る、と整理できます。混雑時の中断を減らす仕組みであって、認証やレート制限の問題を隠す仕組みではないと読むのが自然です。
v2.1.163・v2.1.165との違い
番号上の直前はv2.1.165で、こちらは不具合修正と安定性の改善のみの版でした(v2.1.164は欠番で、changelogに存在しません)。機能追加を含む直前の版はv2.1.163で、許可バージョンの範囲を管理設定で固定するrequiredMinimumVersionなどが入っていました。本版はそこに、モデルのフェイルオーバーと権限ルールの強化を重ねた位置付けになります。
| 領域 | v2.1.163 | v2.1.165 | v2.1.166 |
|---|---|---|---|
| 主な性格 | v2.1.163管理設定とhook修正 | v2.1.165不具合修正のみ | v2.1.166フェイルオーバー強化 |
| 権限ルール | v2.1.163Homeディレクトリのdeny抜け穴を修正 | v2.1.165変更なし | v2.1.166拒否ルールにglob("*"で全拒否) |
| モデル切り替え | v2.1.163変更なし | v2.1.165変更なし | v2.1.166対話セッションにも適用 |
直前のv2.1.165、機能追加を含む直前のv2.1.163それぞれの詳しい内容は、Claude Code v2.1.165の変更点とClaude Code v2.1.163の変更点で確認できます。シリーズ全体の位置付けはClaude Codeのプロダクトページからたどれます。
権限とフェイルオーバーの直近の流れ
権限とモデル切り替えに絞ると、直近の数版で次のように積み上がってきました。番号付きで時系列を示します。
| バージョン | 日付 | 関連する変更 |
|---|---|---|
| v2.1.163 | 日付2026-06-04 | 関連する変更管理設定のバージョン固定、Homeディレクトリのdeny抜け穴を修正 |
| v2.1.165 | 日付2026-06-05 | 関連する変更不具合修正と安定性の改善 |
| v2.1.166 | 日付2026-06-06 | 関連する変更拒否ルールのglob、対話セッションへのフェイルオーバー適用 |
| v2.1.167 | 日付2026-06-06 | 関連する変更不具合修正と安定性の改善 |
直後のv2.1.167は同じ2026年6月6日に出ており、不具合修正と安定性の改善のみの版です。権限まわりは、v2.1.163で抜け穴を塞ぎ、本版で拒否ルールの表現力を広げる流れと読めます。
利用形態ごとの影響
更新の効き方は利用形態で分かれます。段階を「明確な恩恵あり / 条件次第 / ほぼ影響なし」で示します。全員が同じ緊急度ではない点を確認できます。
| 利用形態 | 影響度 | 効く理由 |
|---|---|---|
| 対話セッション中心 | 影響度明確な恩恵あり | 効く理由混雑時に代替モデルへ自動で切り替わる |
| 複数モデル運用のチーム | 影響度明確な恩恵あり | 効く理由最大3つまで順にフェイルオーバーする |
| 権限を厳格管理する環境 | 影響度条件次第 | 効く理由拒否ルールのglobが効くが設定見直しが要る |
| マルチエージェント並行運用 | 影響度条件次第 | 効く理由中継メッセージの権限剥奪で挙動が変わりうる |
| ローカル単発・標準設定 | 影響度ほぼ影響なし | 効く理由修正の多くが特定環境向け |
3Pプロバイダ経由でモデルを使う環境では、thinking無効化の変更は対象外です。MAX_THINKING_TOKENS=0などはClaude API経由で既定でthinkingするモデルが対象で、3Pプロバイダ経由のモデルは従来どおり変わりません。自分の構成がどちらかを確認したうえで、影響の有無を判断する形になります。
まとめ
Claude Code v2.1.166は、fallbackModelによるモデルのフェイルオーバーが対話セッションでも効くようになり、権限の拒否ルールにglobが加わった版です。混雑時間帯に対話で作業する利用者や、複数モデルを使い分けるチームには、本版で切り替えの摩擦が減ります。権限を厳格に管理する環境やマルチエージェント運用では、拒否ルールと中継メッセージの挙動を確認したうえで設定を見直す価値があります。ローカルで標準設定のまま単発利用する場合は、急いで更新する必要は薄い版と言えそうです。