settings.json

idleCompaction

型boolean既定値true記述場所どの設定ファイルでも可

ユーザーが離席している長い会話を、プロンプトキャッシュの期限切れが迫る直前にアイドルコンパクションで圧縮する。これにより、次のメッセージ送信時には会話全体ではなく要約が送られる。ユーザーが戻ると、会話には Compacted while idle, before the prompt cache expired で始まる行が表示される。

記述例

{
  "idleCompaction": false
}

使い方・用途

  • terminal セッションで長い会話を離席している間に prompt cache の 1 時間の TTL が切れる直前、Claude Code に会話を自動で compact させておきたい場合に使う
  • 離席後に再開した最初のメッセージで、会話全体ではなく summary だけを送信するようにし、キャッシュ失効後の再送コストを抑えたい場合に使う
  • デフォルトの idle compaction を無効化したい場合に、idleCompaction を false に設定してオフにできる(v2.1.290 以降が必要)
英語原文(公式ドキュメントより)

Idle compaction [compacts](/docs/en/context-window#what-survives-compaction) a long conversation that you've stepped away from, shortly before its prompt cache expires. Your next message then sends a summary instead of the whole conversation. When you come back, the conversation shows a line that starts with Compacted while idle, before the prompt cache expired.

関連する変更履歴

v2.1.299(1件)

Added
アイドル時コンパクションの最小 200K トークンを変更できる CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS を追加した。settings.json で 'idleCompaction': false を設定すると無効化でき、いずれも v2.1.290 以降が必要である。
英語原文を表示
Added CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS to change idle compaction's 200K-token minimum; "idleCompaction": false in settings.json turns it off. Both need v2.1.290 or later

変更後

離席中の会話をコンパクションする際のトークン数の下限 (200K) を環境変数で調整したり、settings.json でアイドル時コンパクション自体を無効化できるようになった。これにより、大規模なコンテキストを扱うセッションで意図しないタイミングのコンパクションを避けたい開発者が、挙動を自分のワークフローに合わせて制御できる。

関連ドキュメント