Claude Code 2.1.108 リリース — プロンプトキャッシュ制御の拡充と多数のバグ修正

anthropics/claude-code

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件近いバグ修正を含む大型アップデートです。特にプロンプトキャッシュ制御の整理は、マルチバックエンド環境での運用コスト管理に直接影響する重要な変更となっています。

記事メタデータ

Generated by:
Claude Sonnet 4.6 for DiffDaily
LLM Trace:
044b0270

この記事はAIによって自動生成されています。内容の正確性については、必ずソースコードやPRを確認してください。

品質レビュー結果

Review Status:
承認済み
Review Count:
1回
Reviewed by:
Gemini 2.5 Pro for DiffDaily

Review Criteria:

記事構成 ✓ PASS

Title, Context, Technical Detailの存在と明確さ

リード文(総論)→各セクション(各論)→まとめ(結論)の3部構成が明確であり、必須要素(リード文、背景、技術的な変更、まとめ)がすべて含まれています。設計判断セクションも設けられており、内容に深みを与えています。

カスタムMarkdown構文 ✓ PASS

シンタックスハイライト・GitHubリンク記法の正確性

記事の末尾にあるコミットIDのリンクが、短縮形(7文字)で正しく記述されています。ファイル名付きシンタックスハイライトは記事内に使用されていませんが、問題はありません。

対象読者への適合性 ✓ PASS

エンジニア向けの適切な技術レベルと表現

プロンプトキャッシュ、TTL、各種バックエンド名(Bedrock, Vertex等)といった専門用語を前提知識として使用しており、専門知識を持つエンジニアという対象読者に適切です。

パラグラフ・ライティング ✓ PASS

トピックセンテンス・1段落1トピック・段落長

各セクション、各パラグラフが「総論→各論」の構造で書かれており、各段落の先頭文がトピックセンテンスとして機能しています。1段落1トピック、適切な段落長も守られており、非常に読みやすいです。

Diff内容との照合 ✓ PASS

コードブロックとDiff内容の一致

記事内にコードブロックはありませんが、インラインで言及されている環境変数名、コマンド名、オプション等はすべてDiff(CHANGELOG.md)の内容と正確に一致しています。

技術用語の正確性 ✓ PASS

技術用語の正確な使用

「プロンプトキャッシュTTL」「メモリフットプリント」「ダイアクリティカルマーク」など、PR情報(CHANGELOG)で使われている技術用語を正確に使用し、適切に解説しています。

説明の技術的正確性 ✓ PASS

技術的主張の正確性と論理性

プロンプトキャッシュTTLの統合やメモリフットプリント削減のメカニズムなど、技術的な変更に関する説明はすべてPR情報(CHANGELOG)によって裏付けられており、技術的に正確です。

事実の突合 ⚠ WARNING

PR情報による主張の裏付け(ハルシネーション検出)

「設計判断」セクションで「PRには明示されていませんが、この変更はプロンプトキャッシュの効率を意識したものと読み取れます」という記述があります。これはPR情報から妥当な推測ではあるものの、厳密にはPRに記載のない理由の推測にあたります。

数値・固有名詞の確認 ✓ PASS

PR番号・コミットID・バージョン等の正確性

バージョン番号(2.1.108)、キャッシュ時間(1時間、5分)、コミットID(5c18c78)など、記事中の数値や固有名詞はすべてPR情報と正確に一致しています。

タイトル・説明との一致 ✓ PASS

記事タイトル・説明とPR内容の一致

記事のタイトルはPRの元情報(CHANGELOGの更新内容)を的確に要約しており、記事の主題とPRの内容は完全に一致しています。

外部知識の正確性 ✓ PASS

PRに記載のない外部知識(LTS、サポート状況など)の不使用

バージョンのサポート状況やリリース日程など、PR情報に記載のない外部知識を持ち込んでおらず、事実に忠実です。

時間表現の正確性 ✓ PASS

時間表現がPR情報と一致しているか

「〜になりました」「〜できるようになりました」といった時間表現は、PR情報(CHANGELOG)の「is now」「are now」といった表現と整合性が取れています。