Claude Codeの公式Changelogをリリースから最速で翻訳・解説しています。
v2.1.265 で、resume したサブエージェントと agent teams の teammate で prompt cache が外れていたバグが直りました。後続ターンで prefix が変わっていたので、ターンを重ねるほど、本来キャッシュで済む入力を通常単価で処理していました。v2.1.263 の changelog は「Bug fixes and reliability improvements」の 1 行のみで、個別の変更はすべて v2.1.265 の分。
- サブエージェントと teammate の prompt cache - resume 後や 2 ターン目以降に prefix が変わり、API がキャッシュを再利用できなくなっていた (v2.1.265)
-
--plugin-dirに親フォルダを渡せる - manifest を持つ子フォルダを全部読み込み、実行中の追加・削除も拾う (v2.1.265) -
-pと Agent SDK でcdが持続 - ユーザーメッセージのたびに作業ディレクトリが起動時の場所へ戻っていた (v2.1.265) -
MCP の
http設定が旧 SSE サーバーに繋がる - HTTP+SSE しか話さないサーバーへ SSE でフォールバックするようになった (v2.1.265)
サブエージェントと teammate で prompt cache が外れていた
prompt cache は prefix の完全一致で効きます。 入力は tools、system prompt、messages の順に並び、先頭から一致した部分だけを API がキャッシュから読む。1 バイトでも変わると、そこから後ろは全部通常単価に戻ります。API 課金の場合、cache read は通常入力より最大 90% 安いので、外れた分はその差額がそのまま請求に乗る。
Fixed resuming a foreground-spawned subagent changing its tool list and system prompt prefix, which broke prompt-cache reuse for that agent
Fixed agent teammates and resumed subagents moving SubagentStart hook context and preloaded skills out of the prompt prefix on later turns, which broke prompt-cache reuse
前者は resume したサブエージェントの話。foreground で起動した subagent を後から resume すると、ツール一覧と system prompt の先頭が起動時と別物になっていた。ツール一覧は入力の先頭に並ぶので、resume 直後のリクエストは先頭から全部キャッシュ外れになります。
後者は agent teams の teammate と、resume した subagent の両方に当たります。SubagentStart hook が渡した context と preload した skill は、1 ターン目には prefix の中にある。それが 2 ターン目以降で prefix の外へ動いていたので、その位置から後ろが毎ターン読み直しになっていた。
v2.1.265 の changelog が名指ししているのは subagent と teammate で、メインセッションの prefix には触れていません。
--plugin-dir に親フォルダを渡すと子フォルダ単位で読み込む
claude --plugin-dir ./plugins
plugins/
├── formatter/ # manifest あり: 読み込む
├── reviewer/ # manifest あり: 読み込む
└── drafts/ # manifest なし: 無視
v2.1.265 から、--plugin-dir に渡した先が単体のプラグインでなくても動きます。子フォルダのうち manifest を持つものを Claude Code がそれぞれプラグインとして読み込み、起動中に子フォルダを足したり消したりしても拾う。
バックスラッシュを含むプラグインのパスが、macOS と Linux で symlink の封じ込めチェックをすり抜けていました (v2.1.265 で修正)。名前が .. で始まるディレクトリを「プラグインルートの外」と誤判定して拒否する問題も同じ版で消えています。symlink ループなどで OS が検査できないコンポーネントフォルダは、黙って飛ばす代わりに /plugin にエラーコード付きで出る。
-p と Agent SDK の cd が次のターンまで残る
-p に stream-json で入力を流すセッション、Agent SDK、cloud セッションでは、ユーザーメッセージが届くたびに shell の作業ディレクトリが起動時の場所へ戻っていました。v2.1.265 からは、前のターンで cd した先を Claude Code がそのまま次のターンに引き継ぐ。
同じ非対話まわりで、--bg のセッションを idle タイムアウト直前に届いたメッセージの処理中に Claude Code が retire してしまう問題も直っています。
表で拾う残りの変更
| 対象 | v2.1.265 での変更 |
|---|---|
MCP の http サーバー |
旧 HTTP+SSE しか話さないサーバーに SSE でフォールバック接続。今まで一度も繋がらなかった |
| リモート MCP の OAuth | 実際にサインインするまで OAuth クライアントを登録しない |
| ディスクに保存するツール結果 | 上限 1 GB。打ち切った場合は会話内のプレビューにその旨が出る |
| 2 キーのショートカット | 2 キー目の待ち時間が 1 秒から 3 秒に。tmux 内で黙って消えていたのが、タイムアウト時は通知を出す |
--worktree の起動 |
大規模リポジトリで checkout を並列化 (git 2.32 以上) |
/model opusplan[1m] |
「Model not found」で弾かれていたのを修正 |
| Windows の AppContainer / 制限トークン sandbox | Read・Write・Edit が全ファイルを拒否していたのを修正 |
| VS Code 拡張 | 非アクティブなセッションを自動アーカイブ。設定「Archive inactive sessions」、既定 14 日 |
Claude Desktop と Cowork が Claude apps gateway 経由で送るテレメトリに user.email と user.groups が加わり、ターミナルセッションと同じ項目になりました (v2.1.265)。managed settings に forceLoginGatewayUrl があるマシンは起動時点からゲートウェイセッションになり、Claude Code は残っていた claude.ai のログインや API キーを使いません。
今回の 2 版を通して
v2.1.263 の changelog は定型 1 行で、v2.1.265 は 50 項目のうち 31 項目が Fixed です。新機能の追加は --plugin-dir のフォルダ対応、ツール結果の 1 GB 上限、VS Code 拡張の自動アーカイブ、テレメトリ項目の追加で、修正は resume・非対話セッション・プラグインのパス判定に寄っている。prompt cache の修正が効くのは、agent teams の teammate と resume した subagent を使う構成です。
前回: Claude Code v2.1.260〜v2.1.261|1 版で撤回された Read() deny の Bash 適用|毎日Changelog解説