2026年11月5日に確認した公式資料をもとに、離席中の自動要約が動く条件と設定を解説します。

長い会話を開いたまま休憩し、戻ってから同じ作業を続ける。その際に会話全体を再び処理する負担を抑えるための仕組みが、Claude Codeのidle compaction(離席中の自動要約)です。条件を満たす長い会話を、キャッシュの有効期限が切れる前に要約しておき、次の入力では全履歴の代わりに要約を使います。

この機能は、Anthropicが日本時間10月14日11時49分に公開したv2.1.299のリリース情報で、対話型ターミナル向けに加わりました。日本時間10月30日10時6分に公開されたv2.1.314のリリース情報では、VS Code拡張とデスクトップアプリのCodeタブにも対象が広がっています。編集部は、どちらのリリース情報も公式の設定リファレンスなどと照合しました。会話を放置すれば一定時間後に必ず動く、という機能ではありません。使う場所、自動圧縮の設定、1時間TTL、会話量、PCを起動したままの離席時間という5つの条件で決まります。

Claude Codeを放置すると起きる自動要約

通常の自動圧縮は、会話がコンテキストの上限へ近づいたときに履歴を整理します。idle compactionは、利用者が入力していない間に長い会話を要約する点が異なります。公式の設定リファレンスでは、キャッシュが有効なうちに要約し、次の入力では全履歴に代えて要約を使う仕組みと説明されています。

設定リファレンスが対象に挙げているのは、対話型ターミナルのセッション、VS Code拡張のチャットパネル、デスクトップアプリのCodeタブの3つです。デスクトップアプリのCodeタブで対象になるのは、手元のPCかSSH接続先で動くセッションだけです。API、SDK、それにWeb版などクラウド上で動くセッションは対象に挙がっていないため、同じように動くとは判断できません。Amazon Bedrockなどクラウドプロバイダー経由の利用については、次の節で説明します。

放置中の要約が動く画面と対応版

v2.1.314のリリース情報によると、VS Code拡張とデスクトップアプリのCodeタブでも、20万トークン以上の会話が離席中に要約されるようになりました。戻ったときにプロンプトキャッシュの期限が切れていれば、次の入力では全履歴の代わりにこの要約が使われます。

設定リファレンスによると、要約が済むと、使っている画面に応じて以下の通知が出ます。

  • ターミナル:Compacted while idle, before the prompt cache expiredで始まる行
  • VS Code拡張のチャットパネル:a summary written while you were awayを含む通知
  • デスクトップアプリ:a summary written while you were awayを含む通知。Claude Code noticeを含む行の中に出る(見当たらない場合は表示モードをVerboseに切り替える)

通知が出たあとは、それまでの会話が要約に置き換わり、Claudeはその要約をもとに作業を続けます。設定リファレンスは、VS Code拡張とデスクトップアプリについて、利用者が何か操作する必要はないと説明しています。

同じv2.1.314のリリース情報には、離席中の要約が動く環境を広げる変更も書かれています。対象は、テレメトリを無効にしているサブスクリプション契約者の利用と、Amazon Bedrock、Vertex(Google Cloud)、Microsoft Foundry、LLMゲートウェイ経由の利用です。これらでも、1時間のプロンプトキャッシュが有効なら動くようにした、という内容です。

現在の設定リファレンスでは、機能フラグを取得できないために離席中の要約が動かない制約は、v2.1.314より前の版に限ると説明されています。以前の版を使っている場合は対応版を確認してください。v2.1.314以降も、対象セッションや1時間のキャッシュなど、次の表の条件を満たす必要があります。

放置しても要約されないときに確認する5条件

条件公式資料の説明
使う場所対話型ターミナル、VS Code拡張のチャットパネル、デスクトップアプリのCodeタブ。Codeタブは手元のPCかSSH接続先で動くセッションのみ。VS Code拡張とCodeタブはv2.1.314以降
自動圧縮autoCompactEnabledが有効であること
キャッシュの保持時間会話が1時間TTLのプロンプトキャッシュを使っていること
会話量既定では20万トークン以上
利用していない時間最後のリクエストから約1時間、入力がないこと(1時間のキャッシュが切れる少し前に要約される)。その間PCが起きていること

TTLはキャッシュを保持する期間です。v2.1.299のリリース情報では、約54分放置された会話を、1時間の保持期間が切れる前に要約すると説明されていました。現在の設定リファレンスでは、この放置時間を「約1時間」と書いています。どちらも厳密な時刻の保証ではありません。スリープ中のPCで同じ処理が進むと見込むこともできません。

ここでの20万はトークン数です。日本語20万文字と同じではなく、会話の見た目の長さだけでは到達したか判断できません。コンテキスト窓が200Kのモデルでは、この既定値に達する前に通常の自動圧縮が起きると公式資料は説明しています。「長く話したのに離席中の要約が起きない」ときは、まず対象条件を確認する必要があります。

v2.1.299公開時の公式説明に基づく模式図。20万トークン以上の会話を約54分放置すると、キャッシュが切れる前にClaude Codeが会話を要約する流れを示しています。編集部の実演画面ではありません。
v2.1.299公開時の公式説明に基づく模式図です。図で対象が「対話ターミナル」だけになっている点と「約54分」という時間は、その当時のものです。v2.1.314以降の対象と時間の目安は、上の表を参照してください。

放置中の要約を止める設定と閾値

条件を満たすセッションでは既定で有効です。離席中の要約だけを止めたい場合の設定は、idleCompactionをfalseにする方法です。次は公式の設定項目を示す例です。既存のsettings.jsonをこの内容だけで上書きせず、必要なキーを追加・変更します。

{
  "idleCompaction": false
}

VS Code拡張やデスクトップアプリで止める場合は、セッションが動いているPCの~/.claude/settings.jsonか、ほかの設定ファイルに同じキーを書きます。WSLで動かしているときは、そのディストリビューション側のファイルが対象です。ターミナルでは、v2.1.302以降の/configにある「Idle compaction」の行でも切り替えられ、選んだ値はユーザー設定に保存されます。

対象となる会話量は環境変数CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENSで変更できます。環境変数リファレンスによると、値は正の整数で指定します。既定値は200000で、100000未満を指定すると100000に引き上げられ、正の整数でない値は無視されます。公式の設定例には150000もあります。

これらの設定はv2.1.290以降で使えます。ただし、VS Code拡張とデスクトップアプリのCodeタブで離席中の要約そのものが動くのは、v2.1.314以降です。DISABLE_AUTO_COMPACT=1は通常の自動圧縮と離席中の要約の両方を無効化するため、離席中だけを止める設定とは影響範囲が違います。

放置時間とキャッシュの費用の関係

公式のプロンプトキャッシュ資料では、サブスクリプションの契約内利用におけるメインの会話は通常1時間、usage credits・APIキー・クラウドプロバイダー経由は通常5分と説明されています。APIキーやクラウドプロバイダー経由で使う場合は、promptCacheTtlを1hにすると、メインの会話のキャッシュ保持時間が1時間になります(v2.1.242以降)。ただし、同じ資料によると、Amazon Bedrockでは1時間TTLを使えるかどうかがモデルによって変わります。LLMゲートウェイ経由の場合は、anthropic-betaヘッダーをそのまま転送する設定も必要です。利用経路が違えば、同じインストール版でも前提が異なります。

1時間TTLを指定する方法があっても、長くすれば必ず安くなるわけではありません。1時間キャッシュへの書き込み料金は5分より高く、利用の間隔や再利用の回数が関係します。idle compactionのためだけに、費用への影響を確かめず保持期間や閾値を一括変更することは勧めません。自分の利用経路と既存設定を確認してから、捨ててもよい小さな作業で挙動を確かめるのが次の段階です。

通常の導入から確認したい場合は、Claude Codeの基本解説も参照してください。