Skip to content

原文(日本語に翻訳)

新規メッセージがない状態でセッションを開いたり再開したりすると、トランスクリプトファイルが不必要に肥大化していた問題を修正。

原文(英語)

Fixed opening or resuming a session with no new messages needlessly growing the transcript file

概要

Claude Codeは作業内容をローカルのトランスクリプトファイル(セッションごとの.jsonlファイル)に継続的に保存しており、後から/resumeなどでセッションを再開できます。修正前は、新しいメッセージを何も追加していないのにセッションを開いたり再開したりするだけで、既存の内容が重複して書き込まれるなどの理由でトランスクリプトファイルが不必要に大きくなっていく問題がありました。v2.1.199で、新規メッセージがない場合は不要な書き込みが発生しないよう修正されました。

基本的な使い方

修正前:

1. claude --resume で過去のセッションを開く
2. 何も入力せずにセッションを閲覧するだけで終了
3. ❌ セッションの .jsonl ファイルのサイズが毎回わずかに増加する
   (ディスク使用量や読み込み時間に無駄が生じる)

修正後(v2.1.199):

1. claude --resume で過去のセッションを開く
2. 何も入力せずにセッションを閲覧するだけで終了
3. ✅ 新規メッセージがなければトランスクリプトファイルは変化しない

実践例

過去のセッションを頻繁に見返すワークフロー

デバッグや振り返りのために/resumeで何度も同じセッションを開いて内容を確認するだけのユースケースでは、修正前は見返すたびにファイルが少しずつ肥大化していました。修正後はセッションを開くだけでは容量が増えないため、長期間保存している大きめのセッションでも安心して確認できます。

多数のセッションを抱えるプロジェクトのディスク管理

多数のセッションを持つプロジェクトでは、.claude配下のトランスクリプトが積み重なってディスクを圧迫しがちです。この修正により、単に開いたり再開したりするだけの操作では余計な容量が積み上がらなくなり、ディスク使用量の予測がしやすくなります。

CIやスクリプトから--resumeを繰り返し呼び出す場合

自動化スクリプトが定期的にセッションの状態を確認するために--resumeを呼び出すようなケースでも、実際に新しいやり取りが発生しない限りファイルサイズが増えなくなったため、意図しないディスク消費の増加を心配せずに運用できます。

注意点

  • この修正はトランスクリプトファイルの不要な肥大化を防ぐものであり、実際に新しいメッセージを送信すればこれまで通りトランスクリプトに追記されます。
  • 既に肥大化してしまった過去のセッションファイルが自動的に縮小されるわけではありません。

関連情報