できること
放置した長い会話の圧縮
ターミナルでは、20万トークン以上の会話が約54分間放置されると、1時間のプロンプトキャッシュが切れる前に圧縮されます。次のメッセージで会話全体を再処理せずに済みます。
圧縮の閾値を変更
環境変数 CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS で、圧縮の対象となる最小20万トークンの閾値を変更できます。v2.1.290 以降が必要です。
無効化と再有効化
settings.json に "idleCompaction": false を指定すると無効にできます。/config の Idle compaction の項目からもオフ・オンを切り替えられます。
機能解説
概要
ターミナルでは、20万トークン以上の会話が約54分間放置されると、1時間のプロンプトキャッシュが切れる前に圧縮されます。このため、次のメッセージで会話全体を再処理せずに済みます。長いセッションを中断し、時間をおいて再開する場面に関わる機能です。
Idle compaction は、放置された長い会話を自動で圧縮・要約しておく機能です。
ターミナルでは、20万トークン以上の会話が約54分間放置されると、1時間のプロンプトキャッシュが切れる前に圧縮され、次のメッセージで全体を再処理せずに済みます。
VS Code と Claude デスクトップアプリの Code タブでは、放置された20万トークン以上の会話が要約され、プロンプトキャッシュが切れていた場合に、次のメッセージでその要約が使われます。
設定の変更と無効化
動作は次の設定で変更できます。
- 圧縮の閾値: 環境変数
CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENSで、最小20万トークンの閾値を変更できます。 - 無効化:
settings.jsonに次のように指定すると無効になります。
"idleCompaction": false
- 切り替え:
/configに Idle compaction の項目があり、オフにしたり、再びオンにしたりできます。
閾値の変更と settings.json による無効化は、いずれも v2.1.290 以降が必要です。また、圧縮が行われた後に表示される通知には、無効にする方法が示されます。
提供状況の注意
- テレメトリーをオフにしているサブスクライバーでも動作します。
- Bedrock・Vertex・Foundry および LLM ゲートウェイ経由で使う場合は、1時間のプロンプトキャッシュが有効になっていることが動作の条件です。
- 閾値の変更と無効化の設定には v2.1.290 以降が必要です。
対象となるプランについては、公式のリリースノートには記載がありません。
利用シーン
20万トークンを超える長い会話を中断し、1時間近くたってから同じ会話で続きを依頼する場面に向いています。
Bedrock・Vertex・Foundry や LLM ゲートウェイ経由で Claude Code を使い、1時間のプロンプトキャッシュを有効にしている環境での長いセッションに使えます。
圧縮を始める会話の長さを運用に合わせて決めたい場合は、閾値の環境変数で調整できます。
会話を圧縮せずにそのまま残したいセッションでは、/config や settings.json で無効にして使えます。
ChatGPT・OpenAI の対応する機能
比較の単位となる業務: 放置された長い会話の自動圧縮による再処理コストの削減
OpenAI の Agents API はパブリックベータとして公開されている API で、マネージドな Codex ハーネスでエージェントを構築し、セッションのオーケストレーション、コンテキスト圧縮、復旧を OpenAI が担います。Idle compaction は Claude Code の会話を対象に、放置された20万トークン以上の会話を1時間のプロンプトキャッシュが切れる前に圧縮する機能で、閾値の変更や無効化を利用者側の設定で行えます。
プロンプトキャッシュについては、OpenAI の API では ZDR が有効でない組織で prompt_cache_retention の既定値が 24h になり、extended prompt caching が既定で有効です。Idle compaction は、ターミナルでは、約54分間放置された会話を1時間のプロンプトキャッシュが切れる前に圧縮します。
これまでの変更
VS Code と Claude デスクトップアプリの Code タブに追加されました。テレメトリーをオフにしているサブスクライバーでも動作するよう変更され、1時間のプロンプトキャッシュが有効な場合は Bedrock・Vertex・Foundry および LLM ゲートウェイ経由でも動作するようになりました。
/configに Idle compaction の項目が追加され、圧縮後の通知に無効化の方法が表示されるようになりました。ターミナルにアイドル時の自動圧縮が追加されました。あわせて、閾値を変更する環境変数
CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENSと、settings.jsonの"idleCompaction": falseによる無効化が追加されました(いずれも v2.1.290 以降)。