環境変数

CLAUDE_CODE_TRANSCRIPT_LOCAL_GC

1 を設定すると、長時間の -p または Agent SDK セッションのトランスクリプトファイルが大きくなりすぎないよう制限する。各コンパクションの後、ファイルが 5 MB を超えていれば、Claude Code はそのコンパクション以前の履歴を削除する。v2.1.296 以降では、その削除でファイルが 10% 未満しか縮まない場合、ファイルはそのまま維持される。セッションを再開すると、ファイルが削減されたかどうかにかかわらず、同じ会話が復元される。settings の env ブロックでは有効化できないため、Claude Code を起動する環境で設定すること。Claude Code v2.1.287 以降が必要である。

使い方・用途

  • claude -p や Agent SDK の長時間セッションで、transcript の JSONL ファイルがコンパクションを繰り返しても際限なく大きくなるのを抑えたいときに使う。
  • ~/.claude/projects 配下のディスク容量を、長いセッションの履歴ファイルで圧迫されたくないときに使う。
英語原文(公式ドキュメントより)

Set to 1 to limit how large the transcript file of a long -p or Agent SDK session grows. After each compaction, once the file is larger than 5 MB, Claude Code removes the history from before that compaction. On v2.1.296 or later, the file stays as it is when removing that history would shrink it by less than 10%. Resuming the session restores the same conversation whether or not the file was trimmed. Set it in the environment you start Claude Code from, since a settings env block can't turn it on. Requires Claude Code v2.1.287 or later

関連ドキュメント

関連する変更履歴

v2.1.304(1件)

Fixed
ファイルのトリミング中にディスクがいっぱいになった際、CLAUDE_CODE_TRANSCRIPT_LOCAL_GC が保存済み transcript からメッセージを欠落させる問題を修正した。
英語原文を表示
Fixed CLAUDE_CODE_TRANSCRIPT_LOCAL_GC dropping messages from the saved transcript when the disk filled up while the file was being trimmed

v2.1.296(2件)

Fixed
テキストに Unicode の行区切りや段落区切り(U+2028、U+2029)が含まれるメッセージが、CLAUDE_CODE_TRANSCRIPT_LOCAL_GC によって保存済みトランスクリプトから欠落する問題を修正した。
英語原文を表示
Fixed CLAUDE_CODE_TRANSCRIPT_LOCAL_GC dropping a message from the saved transcript when its text held a Unicode line or paragraph separator (U+2028, U+2029)
Improved
CLAUDE_CODE_TRANSCRIPT_LOCAL_GC を改善した。10% 未満しか解放されない場合は、大きなトランスクリプトファイルの書き換えを行わない。
英語原文を表示
Improved CLAUDE_CODE_TRANSCRIPT_LOCAL_GC: a large transcript file is no longer rewritten when that would free under 10% of it