Claude Code v2.1.296 — サブエージェント単位の自動圧縮とMCP説明文の上限拡大
Claude Code v2.1.296は、サブエージェント単位で自動圧縮の窓を決められます。MCP説明文の上限は4,096文字に。Sonnet 5.5のキャッシュ読み取りは100万トークンあたり0.10ドル換算です。
このリリースで何ができるようになるか
Claude Code v2.1.296は、CLI本体の追加が6項目、修正と改善が70項目超という整備寄りの更新です。運用に響く変化は次の3つに絞れます。
- サブエージェントだけ早めに圧縮できる: サブエージェントのfrontmatterと
--agentsの定義にautoCompactWindowが加わりました。全モデル共通の設定キーとは別に、メインの会話より小さい窓をサブエージェントごとに持てます - MCPの説明文が長めに届く: ツール説明とサーバー指示の既定の上限が、2,048文字から4,096文字に変わりました
- Sonnet 5.5のコスト表示が下がる:
/cost、ステータスライン、--max-budget-usd、SDKの金額が、キャッシュ読み取りを100万トークンあたり0.10ドル(従来0.20ドル)で計算します
加えて、managed settingsのhookが「止める」と決めたのに会話が続いてしまう不具合や、BASH_ARGV0 を使った権限チェックの抜けも直りました。
あなたの開発フローはどう変わるか
サブエージェントを長く走らせている場合
自動圧縮の窓を決める autoCompactWindow は、設定ファイルのトップレベルのキーとして以前からあり、全モデルに効きます。今回加わったのは、同じ名前の値をサブエージェントの定義側に持たせる書き方です。メインの会話の窓より早く圧縮させたいサブエージェントだけに、小さい窓を指定できます。
環境変数 CLAUDE_CODE_AUTO_COMPACT_WINDOW は、設定キーより優先されます(100000から1000000のトークン数)。frontmatterの値がこの環境変数とどちらが先に効くかは、サブエージェントのドキュメントに記載がありません。更新履歴にも、frontmatterの値の単位や下限は書かれていません。環境変数と同じ範囲とは限らないため、値は動作を確かめながら決めてください。圧縮が絡む症状はauto compactが100%で止まるときが手がかりになります。モデルとeffortを定義側で決める流れは、サブエージェントのeffort指定と同じ発想です。
ワークフローのモデルを揃えたい場合
CLAUDE_CODE_WORKFLOW_SUBAGENT_MODEL を設定すると、ワークフローのエージェントがすべて同じモデルで動きます。違いは下の節で扱います。
529の過負荷が続く環境の場合
CLAUDE_CODE_OVERLOADED_RETRY_MAX_DELAY_MS で、529(過負荷)をリトライするときのバックオフの最大待ち時間を長くできます。待ち方の全体像は529 Overloadedが続くときの待ち方にまとめています。
MCPサーバーを自作している場合
説明文の既定の上限が4,096文字に倍増しました。これまで2,048文字に収めるために削っていた使い方の注意を、戻す余地ができます。ただし送る文字数が増えれば、そのぶん毎回の文脈を使います。上限を変える環境変数の扱いは、MCPツール説明文の文字数上限で扱っています。
Readツールで大きなファイルを丸ごと読ませたい場合
Readツールに allow_large オプションが加わりました。通常のサイズ上限を超える全文を、文脈に空きがあるときに1回の呼び出しで読めます。Claudeが全体を必要とするときに使う想定です。
主な変更点
追加
| 変更 | 内容 |
|---|---|
autoCompactWindow | 内容サブエージェントのfrontmatterと --agents に追加。メインより早く自動圧縮できる |
CLAUDE_CODE_WORKFLOW_SUBAGENT_MODEL | 内容ワークフローの全エージェントを1つのモデルで動かす |
CLAUDE_CODE_OVERLOADED_RETRY_MAX_DELAY_MS | 内容529リトライのバックオフ最大待ち時間を長くする |
managed.policies[] の code キー | 内容Claude apps gatewayの設定。cli と同じ項目で、Claude DesktopのCodeタブにも適用。desktop と併記するとDesktopのゲートウェイモードが有効になる |
/plugin の注記 | 内容同名の別プラグインが有効なために、hookが除外されたプラグインに注記を出す |
Readツールの allow_large | 内容通常の上限を超えるテキストファイルを1回で読む |
hooksと権限
- managed settingsの
PreToolUsehookが"continue": falseで拒否したとき、managedのprompthookが遮断したときに、呼び出しは拒否されてもターンが終わらない不具合を修正しました - managed settingsのPostToolUse hookが、一部のセッションで
updatedMCPToolOutputを反映しない不具合を修正しました UserPromptSubmithookやmodのprompt.submithookの最中にEscや割り込みをすると、ヘッドレスセッションが終わる、入力済みのプロンプトが消える、未検査のプロンプトが通るといった不具合を修正しましたBASH_ARGV0シェル変数に代入して使うコマンドが、Bashの権限チェックで自動承認されていました。今後は承認を求めます- EditとNotebookEditは、UTF-8でないファイル(Windows-1252、Shift-JIS、GBK)で非ASCII文字をすべて置き換えていました。今後はそうした編集を拒否します
失敗したhookの扱いは、前バージョンのonFailure: "block"と合わせて読むと流れがつかめます。
Claude apps gateway
allowedProvidersに"gateway"を含むゲートウェイが、ユーザー設定でそのゲートウェイを指すノートPCを締め出す不具合を修正しました- managed settingsが
forceLoginMethodをgatewayにし、forceLoginGatewayUrlを持たない環境で、保存済みのサインインが無視される不具合を直しました。v2.1.295で入った回帰です - Claude DesktopのCodeタブでは、セッションを始められない理由が返信として表示されます
料金と上限値
- Sonnet 5.5のキャッシュ読み取りを100万トークンあたり0.10ドル(従来0.20ドル)で換算します。対象は
/cost、ステータスライン、--max-budget-usd、SDKの金額です - Haiku 5.5のように適応的な思考だけを受け付けるモデルで、トークン数の取得が一部のゲートウェイで失敗する、ほかの環境では予算つきの思考として数えられる、という不具合を修正しました
自己ホスト型ランナーとワークフロー
claude self-hosted-runnerは、登録が拒否されたときの誤解を招くエラーを直し、組織管理者の設定名や、再起動したオンデマンドランナーには新しい作業指示が要ることを示します--capacityが1を超えるランナーで、同じリポジトリの別セッションが始まると、実行中のセッションのgit fetch・pull・pushが失敗する不具合を修正しました- ワークフローのスクリプトは、約20,000段より深い入れ子をエラーを出さずに切り捨てていました。CRLF改行のスクリプトファイルを拒否する不具合も直りました
プラグインとmod
constructorのような名前のマーケットプレイスでclaude plugin marketplace add・update、plugin installが内部エラーになる不具合を修正しました。addはそうした名前を明確に拒否しますconstructorやprototypeという名前のプラグインのシークレットが、次の保存で消える不具合を直しました- ヘッドレスセッションの開始後に読み込まれたプラグインのSessionStart hookが、同名または別表記の別プラグインがすでに実行済みだと飛ばされる不具合を修正しました
- modでは、リロードや削除の後も動いていたhookからの
$.agent.registerを拒否します。HEADリクエストで応答のContent-Lengthが4 MiBを超えると$.http.fetchが拒否する不具合も直りました
Windows
- 約1 KBを超えるPowerShellコマンドが常に許可を求めていました。許可ルールと読み取り専用の判定が、32 KBまで効きます
- stdioのMCPサーバーを終了時に強制終了していました。まずstdinを閉じ、300ミリ秒後も動いていればプロセスツリーを終了します
- GitHubの
owner/repo形式のプラグインで、SSH鍵のない環境のclaude plugin installが失敗していました。HTTPSで再試行します - bypass permissionsモードで、Git Bashの
rm -rf /c/Users/<name>が確認を求めなかった不具合を直しました
操作と表示
←でセッションをバックグラウンドへ移すとき、その間に始めたターンや!コマンドは、見えないところで完了せず停止します- SessionStart hookの実行中に送ったプロンプトが、
←の後に消える不具合を直しました。送信はされませんが、↑で呼び戻せます - 全画面モードでは、マウスの下のリンクに下線が付きます
- ctrl+oのトランスクリプト切り替えは、構文ハイライト済みのコードブロックをキャッシュして速くなりました
- 自動モードの確認で使える答えが得られず実行されなかった呼び出しは、赤いエラーでなく淡い「Not run」の行で表示されます
--debugは、カスタムエージェントのファイルにある未知のfrontmatterフィールドを挙げ、打ち間違いらしいものにヒントを添えます。ツール呼び出し・プロンプト・SessionStart・Stopのコマンドhookは、コマンド・プラグイン・結果・所要時間をログに出します
VS Code・クラウドセッション・Claude Tag・Code Review
- VS Code拡張では、Claude in Chromeが、
@browserで接続したセッションを含めて、すべてのセッションでブラウザ操作の前に確認します。サイトをセッション中に許可すれば、繰り返しの確認は止まります - VS Code拡張で、WindowsのフルパスのチャットリンクがWindowsで開かない不具合、OSやVS Codeのモーション低減設定が作業中アイコンに効かない不具合、
claudeCode.spinnerVerbsが設定スキーマに無い不具合を直しました - クラウドセッションでは、セルフホスト環境のActivityタブにあるSessionsとRunnersの一覧に、複数選択できる状態フィルターが付きました。待機中のセッションには、前に何件あるかを示す順番が出ます
- Claude Tag(Slack)では、スレッドの最新の返信だけにセッションリンク・モデル・コストのフッターが付きます。ActivityページのMemoryタブでは、Claude Tag管理者の権限を持つメンバーが、ワークスペースとチャンネルのメモリファイルを作成・編集・削除できます
- Code Reviewでは、レビューが終わってもチェックが「進行中」のままになる場合があった不具合を直しました。保存できない設定には、ポリシー制限などの理由が表示されます
利用形態別の影響
| 使い方 | 影響 | 理由 |
|---|---|---|
| 長時間のサブエージェントを多用する | 影響条件次第 | 理由autoCompactWindow で圧縮の時期をサブエージェントごとに分けられるが、値の確認が先 |
| managed settingsでhookを配布している | 影響明確な恩恵あり | 理由"continue": false や prompt hookの遮断が、ターンを止める |
| Sonnet 5.5を長いセッションで使う | 影響明確な恩恵あり | 理由キャッシュ読み取りの換算が半額になり、表示金額が下がる |
| 自作のMCPサーバーが長い説明を持つ | 影響条件次第 | 理由4,096文字まで届くが、文脈の消費も増える |
| Claude apps gatewayで運用する | 影響明確な恩恵あり | 理由v2.1.295のサインイン回帰と、ノートPCの締め出しが直った |
| WindowsでPowerShellやGit Bashを使う | 影響明確な恩恵あり | 理由長いPowerShellコマンドの許可判定と、rm -rf の確認漏れが直った |
| 対話の通常利用のみ | 影響ほぼ影響なし | 理由日常の操作は変わらない |
ワークフローのモデル指定は、サブエージェント全体の既定値と何が違うか
CLAUDE_CODE_WORKFLOW_SUBAGENT_MODEL は、ワークフローのエージェントだけに範囲を絞った指定です。ワークフローの外のサブエージェントは、それぞれのモデルのままです。これに対してCLAUDE_CODE_SUBAGENT_MODELは、ほかの方法でモデルが決まらないサブエージェント・teammate・ワークフローのエージェントに使う既定のモデルです。定義や呼び出しの指定を押さえて全体に強制するには、CLAUDE_CODE_SUBAGENT_MODEL_FORCE=1 を併用します。サブエージェントのモデルは、サブエージェントのドキュメントに書かれた優先順で決まります。呼び出しごとの指定、定義のfrontmatter、環境変数の順に見ていく構成で、v2.1.251より前は CLAUDE_CODE_SUBAGENT_MODEL が先頭にありました。ワークフロー用の新しい変数が、この順序のどこに入るかは、更新履歴では分かりません。
ただし今回の1行から言えることは1つあります。既定値は全体に効くのに対し、ワークフローだけを別のモデルに寄せる指定が、環境変数1つで書けるようになりました。同時実行数の側の調整はワークフローの同時実行数が扱っています。
まとめ
サブエージェントを重く使うチームにとっては、サブエージェント単位で窓を持てる autoCompactWindow が今回の中心です。小さな窓から試して挙動を見る進め方になります。managed settingsでhookを配っている組織は、遮断が会話の終了につながらなかった不具合が直ったことを確認できます。Sonnet 5.5の金額は、同じ作業でも表示が下がります。コストの比較に過去の記録を使うときは、換算が変わった日をまたがないようにしてください。
関連ガイド
前の更新との流れはv2.1.295で、Claude Code全体の機能は、Claude Code(クロードコード)の解説でまとめて確認できます。