はじめに
Claude Code v2.1.311 がリリースされました。今回は、日常の使い方と社内ネットワーク設定の両方に関わる変更が入っています。
-
ultrathinkが Claude 5 系モデルで xhigh effort を発動するようになりました。 -
Bedrock / Mantle / Vertex / Foundry では、モデル設定を
downloads.claude.ai上の署名付きファイルから読み込むようになりました。起動時に新しい外向き通信が発生します。 - 200K トークン超えで長い会話が止まる問題、
SubagentStopフックの重複発火、「再試行不可」リクエストの再試行によるハングも修正されました。 -
DISABLE_COMPACTは、設定ファイルや mod の$.env.setでは「オフにする方向」にしか効かなくなりました。
📌 影響を受ける人
- Bedrock / Vertex / Foundry 経由で Claude Code を使っていて、外向き通信を制限している人(許可リストの更新が必要)
- 設定ファイルや mod で
DISABLE_COMPACTを使っている人SubagentStopフックで通知や後処理をしている人CLAUDE_CODE_RETRY_WATCHDOGで無人実行している人- 対話ターミナルで Opus 5.5 / Sonnet 5.5 / Haiku 5.5 / Fable 5.1 を使っている人
変更の全体像
今回の変更は、次の4つに分けると整理しやすくなります。
| 分類 | 内容 | 対応の要否 |
|---|---|---|
| effort 運用 |
ultrathink の xhigh 化 |
不要(使い方を知っておく) |
| ネットワーク |
downloads.claude.ai への通信追加 |
制限環境では必要 |
| コンパクション |
DISABLE_COMPACT の厳格化 |
設定の見直しが必要 |
| 不具合修正 | フック重複、ハング、MCP など | 回避策があれば見直し |
変更内容
1. ultrathink が xhigh effort を発動する
対話ターミナルで ultrathink と入力すると、そのターンが xhigh effort で実行されます。
| 項目 | 内容 |
|---|---|
| 対象モデル | Opus 5.5 / Sonnet 5.5 / Haiku 5.5 / Fable 5.1 |
| 対象 API | Anthropic API(対話ターミナル) |
| 動作 |
ultrathink を含むターンが xhigh effort で動く |
| 作業中に入力した場合 | 進行中ターンの残りの effort が引き上げられる |
| レインボー表示 | キーワードで実際に effort を上げられる場所だけに出る |
レインボー表示は、引用符の中やファイルパスの一部に ultrathink が含まれる場合は出ません。表示が出ていれば、effort が上がったと判断できます。
💡 Tips
長い作業の途中で「ここは慎重に考えてほしい」と思ったら、その場でultrathinkと入力できます。ターンを最初からやり直さなくても、残りのターンの effort を上げられます。
2. クラウドプロバイダ利用時はモデル設定を署名付きリモートファイルから読み込む
⚠️ Breaking Change
Bedrock / Mantle / Vertex / Foundry で動く Claude Code は、モデル設定をdownloads.claude.ai上の署名付きファイルから読み込みます。起動時にdownloads.claude.aiへの通信が新たに発生します。
外向き通信を制限した環境や閉域網では、次のどちらかが必要です。
-
downloads.claude.aiを許可リストに追加する -
CLAUDE_CODE_MODEL_CATALOG=offを設定して、この仕組みを無効にする
3. コンパクション関連の変更
| 種別 | 内容 |
|---|---|
| 修正 | 標準コンテキストのセッションで、リクエストが 200K トークンを超えると Usage credits required for 1M context で停止していた。今後は会話をコンパクションして続行する |
| 変更 | 設定ファイルと mod の $.env.set に書いた DISABLE_COMPACT は、コンパクションをオフにする方向にしか効かない(再有効化は不可) |
| 修正 |
DISABLE_COMPACT 設定時でも、エージェントチームのチームメイトが履歴をコンパクションしていた |
| 修正 |
DISABLE_COMPACT 設定時でも、rewind メニューに「Summarize from here」「Summarize up to here」が表示されていた |
| 改善 | コンパクションの返答に要約が含まれていない場合、会話を置き換える前に通常は要約を再要求する |
| 修正 | 自動コンパクション直後に、セッション前半で編集した MEMORY.md / CLAUDE.md の古い内容が見えていた |
| 改善 |
/teleport と claude --teleport で、コンパクション済みのクラウドセッションが最後のコンパクション地点から読み込まれる場合に警告を出す |
⚠️ Breaking Change
DISABLE_COMPACTは、設定ファイルや mod の$.env.setからは無効化しかできなくなりました。上位の設定で無効化している環境を、下位の設定で再有効化する運用をしていた場合は動作が変わります。
4. 重要な不具合修正
| 不具合 | 修正後 |
|---|---|
SubagentStop フックが、実行中のサブエージェントごとに1分あたり約2回発火していた |
サブエージェントの終了時に1回だけ発火する |
API が再試行しないよう指示したリクエストを再試行し、ターンが数分止まった。CLAUDE_CODE_RETRY_WATCHDOG の無人実行では無期限に止まることもあった |
再試行不可とされたリクエストは再試行しない |
| サブエージェント起動後に接続が完了した MCP サーバーのツールを、そのサブエージェントが使えなかった | 使えるようになった |
| MCP サーバーがリソース読み取りに応答しない間やスキルのダウンロード中に、割り込みがタイムアウトまで効かなかった | 修正済み |
5. その他の主な変更
-
headless / SDK:
--output-format jsonとstream-jsonで、文字列中の DEL・C1 制御文字・Unicode 書式文字が\uXXXXでエスケープされて出力されます。JSON としてパースした値は変わりません。トランスクリプトが順不同で保存される問題や、取り消したメッセージが残る問題も修正されました。 -
[1m]サフィックス: 効果のないモデルでは、モデル名・ID からサフィックスとラベルが外れます。指定自体は引き続き可能です。 -
self-hosted-runner:
--hold-idle-fileと--max-hold-minを追加しました。ホストが「残存プロセスがある」と報告している間、アイドルセッションを保持できます。 - Vertex AI / Foundry / Claude Platform on AWS: 長い非表示の思考がアイドルと判定されて打ち切られる問題を修正しました。
-
起動時間と UI: Pro/Max アカウントでは、前回のチェックから1時間以内の起動で2つのネットワークリクエストを省略します。長いリスト項目を含む
CLAUDE.mdや、数千行を変更する Write / Edit のフリーズも修正されました。 -
VS Code 拡張: 応答内のコードブロックに構文の色付けが付きました。VS Code のテレメトリ設定がオフの間は、
DISABLE_TELEMETRYを設定してセッションを起動します(使用状況メトリクスとエラーレポートを送らず、フィーチャーフラグも取得しません)。 - Claude Tag: 分析画面に Skills ビューを追加しました。Slack チャンネルで各スキルが実行された回数と、使われていないスキルを確認できます。
影響と対応
| やること | 対象 | 優先度 |
|---|---|---|
downloads.claude.ai の許可、または CLAUDE_CODE_MODEL_CATALOG=off の設定 |
クラウドプロバイダ経由で、外向き通信を制限している環境 | 高 |
DISABLE_COMPACT の設定箇所の確認 |
設定ファイルや mod で使っている人 | 高 |
SubagentStop フックの重複対策の見直し |
通知や後処理をフックでしている人 | 中 |
\uXXXX エスケープの影響確認 |
claude -p / SDK の出力を生の文字列で照合している人 |
中 |
CLAUDE.md への追記 |
ultrathink やモデル設定の運用をチームで共有している人 |
中 |
具体的な確認手順は次のとおりです。
-
ネットワーク制限の確認: Bedrock / Vertex / Foundry で使っている場合は、プロキシやファイアウォールのログで
downloads.claude.aiへの通信がブロックされていないか確認します。 -
DISABLE_COMPACTの棚卸し: 設定ファイルや mod の$.env.setで、オンに戻す意図の記述がないか確認します。 -
フックの見直し:
SubagentStopに重複実行を防ぐ回避策(排他制御や重複判定など)を入れていたなら、不要か検討します。回避策を外す前に、挙動を確認してください。 - 出力パーサーの確認: JSON としてパースしているだけなら影響はありません。正規表現などで生の文字列に直接マッチさせている処理だけが対象です。
コード例
クラウドプロバイダ環境でモデルカタログ取得を無効化する
Before(v2.1.311 より前): 特別な設定は不要でした。
After(v2.1.311 以降、通信を許可できない場合):
# 起動時の downloads.claude.ai への通信を止めたい場合
export CLAUDE_CODE_MODEL_CATALOG=off
claude
通信を許可できるなら、無効化せずに許可リストへ downloads.claude.ai を追加する方が、署名付きファイルによるモデル設定の更新を受けられます。
DISABLE_COMPACT の書き方
設定ファイルに書く場合のイメージです。この指定はコンパクションをオフにする方向にだけ効きます。
{
"env": {
"DISABLE_COMPACT": "1"
}
}
v2.1.311 以降は、設定ファイルや mod の $.env.set からコンパクションを再び有効にすることはできません。
ultrathink の使い方
# ターンの先頭で指定する(そのターンが xhigh effort で実行される)
ultrathink この移行計画のリスクを洗い出して
# Claude の作業中に入力すると、進行中ターンの残りの effort が上がる
ultrathink
CLAUDE.md への追記例
公式の変更データには、次の追記が推奨されています。
+ ## モデル・effort 運用
+ - ultrathink は Claude 5 系(Opus 5.5 / Sonnet 5.5 / Haiku 5.5 / Fable 5.1、
+ Anthropic API、対話ターミナル)で xhigh effort になる。
+ 作業中に入力すると残りのターンの effort が上がる。
+ ## 環境変数・クラウドプロバイダ設定
+ - Bedrock / Mantle / Vertex / Foundry 利用時はモデル設定を
+ downloads.claude.ai の署名付きファイルから取得する。
+ 無効化は CLAUDE_CODE_MODEL_CATALOG=off。
+ - 設定ファイルや mod の env にある DISABLE_COMPACT はオフ方向にしか効かない。
まとめ
-
ultrathinkは xhigh effort のスイッチになった: 対象は Opus 5.5 / Sonnet 5.5 / Haiku 5.5 / Fable 5.1 で、作業中に入力すると残りのターンの effort が上がります。 -
クラウドプロバイダ利用者は通信先の追加に注意が必要:
downloads.claude.aiを許可するか、CLAUDE_CODE_MODEL_CATALOG=offで無効化します。閉域網では、これを見落とすと起動時の挙動に影響する可能性があります。 -
DISABLE_COMPACTは一方通行になった: 設定ファイルや mod の$.env.setからは無効化しかできません。あわせて、設定しても発生していたコンパクションの不具合が修正されました。 -
長い作業の安定性が上がった: 200K 超えでの停止、
SubagentStopの重複発火、再試行不可リクエストのハング(CLAUDE_CODE_RETRY_WATCHDOGの無人実行を含む)が修正されました。 - 影響の大きい順に確認するなら、「通信制限の有無」「
DISABLE_COMPACTの設定箇所」「フックの回避策」の3点です。
詳細は v2.1.311 のリリースノート を参照してください。