Claude Code 2.1.108 リリース — プロンプトキャッシュ制御の拡充と多数のバグ修正
Claude Code 2.1.108では、プロンプトキャッシュのTTL制御を細かく設定できる環境変数が追加されたほか、セッション復帰時の文脈提供機能や組み込みスラッシュコマンドのモデル呼び出し対応など、開発体験に関わる改善が複数盛り込まれています。
背景
Claude CodeはAPIキー・Bedrock・Vertex・Foundryといった複数のバックエンドをサポートしており、それぞれの環境でプロンプトキャッシュのTTL(キャッシュ保持時間)を適切に制御することがコストと応答速度のトレードオフに直結します。これまで1時間キャッシュをBedrockで使う場合は ENABLE_PROMPT_CACHING_1H_BEDROCK を使用していましたが、バックエンドごとに環境変数が分かれていたため、マルチバックエンド環境での設定が煩雑でした。また、長時間の作業を中断して再開する際にセッションの文脈が失われやすいという問題も報告されていました。
今回のリリースはこれらの課題に対処しつつ、モデルの行動制御やエラー表示の改善、そして多数の回帰バグ修正を一括して提供するものです。
技術的な変更
プロンプトキャッシュTTLの統合管理
プロンプトキャッシュのTTL制御が統一された環境変数で管理できるようになりました。新たに追加された ENABLE_PROMPT_CACHING_1H を設定することで、APIキー・Bedrock・Vertex・Foundryのすべてのバックエンドで1時間キャッシュが有効になります。逆方向の制御として FORCE_PROMPT_CACHING_5M も追加され、強制的に5分TTLに固定できます。既存の ENABLE_PROMPT_CACHING_1H_BEDROCK は非推奨となりましたが、後方互換性のため引き続き動作します。
この変更に関連して、DISABLE_TELEMETRY を設定しているサブスクライバーが誤って5分TTLにフォールバックしていたバグも修正されています。テレメトリ無効ユーザーは本来1時間キャッシュを受けられる契約であるにもかかわらず、設定が反映されていませんでした。
セッション再開時のリキャップ機能
セッションに戻った際に文脈を再提供する リキャップ(recap)機能 が追加されました。/config から設定でき、/recap コマンドで手動実行も可能です。テレメトリが無効な環境では CLAUDE_CODE_ENABLE_AWAY_SUMMARY 環境変数で強制有効化できます。
Skill toolによるスラッシュコマンドの自動発見と呼び出し
モデルが Skill tool を通じて /init・/review・/security-review といった組み込みスラッシュコマンドを自動発見し呼び出せるようになりました。これにより、ユーザーが明示的にコマンドを指定しなくても、モデルが適切なコマンドを選択して実行できるフローが実現します。
UX・エラーメッセージの改善
複数のユーザー体験改善が含まれています:
-
/undoが/rewindのエイリアスとして機能するようになりました -
/modelコマンドが会話途中でのモデル切り替え前に警告を表示するようになりました(切り替え後は全履歴がキャッシュなしで再読み込みされるため) -
/resumeピッカーがデフォルトでカレントディレクトリのセッションを表示し、Ctrl+Aで全プロジェクトを表示できるようになりました - サーバーのレートリミットとプラン使用量上限のエラーが区別して表示されるようになり、5xx/529エラーには
status.claude.comへのリンクが表示されます - 未知のスラッシュコマンド入力時に最近似のコマンドが提案されるようになりました
パフォーマンス改善
ファイル読み込み・編集・シンタックスハイライト処理において、言語グラマーをオンデマンドでロードするよう変更され、メモリフットプリントが削減されました。
バグ修正
今回のリリースでは特に多くのバグが修正されています:
- 2.1.105で発生した
/loginコードプロンプトでのペースト不能の回帰バグ -
CLAUDE_ENV_FILE(~/.zprofile等)が#コメント行で終わる場合にBashツールが出力を生成しない問題 -
--teleport後のプロンプト入力欄にターミナルエスケープコードがゴミ文字として表示される問題 -
--resume <session-id>で/renameで設定したセッション名とカラーが失われる問題 - トランスクリプトに自己参照メッセージが含まれる場合に
--resumeがセッションを切り詰める問題 -
--teleportおよび--resume <id>の前提条件エラー(ダーティなgitツリー、セッション未発見等)がサイレントに終了する問題 - Remote ControlセッションのタイトルがWebUIで設定した後に自動生成タイトルで上書きされる問題
- トランスクリプト書き込み失敗(ディスクフル等)がサイレントにドロップされる問題
-
language設定が構成されている場合にレスポンスからダイアクリティカルマーク(アクセント・ウムラウト・セジラ等)が脱落する問題 - ポリシー管理プラグインが最初にインストールしたプロジェクトと異なるプロジェクトから実行する際に自動更新されない問題
設計判断
プロンプトキャッシュTTLの制御を環境変数で外部化している 点は、Claude Codeの設計方針を反映しています。キャッシュ戦略はバックエンド・契約・ユースケースによって最適解が異なるため、コードの変更なしに柔軟に切り替えられる環境変数アプローチは合理的な選択です。ENABLE_PROMPT_CACHING_1H_BEDROCK を非推奨にしつつも後方互換性を保持しているのは、既存ユーザーの設定を破壊しない保守的な移行設計です。
/model 切り替え時の警告追加は、ユーザーが予期しないコスト増加(全履歴のキャッシュなし再読み込み)に気づけるようにするための防御的なUX設計です。PRには明示されていませんが、この変更はプロンプトキャッシュの効率を意識したものと読み取れます。
まとめ
Claude Code 2.1.108は、プロンプトキャッシュTTLの統合管理、セッション再開時のリキャップ機能、Skill toolによるコマンド自動呼び出しという3つの機能追加と、20件近いバグ修正を含む大型アップデートです。特にプロンプトキャッシュ制御の整理は、マルチバックエンド環境での運用コスト管理に直接影響する重要な変更となっています。