Skip to content

原文(日本語に翻訳)

非常に大きなセッションファイル(50MB超)からメッセージを削除する際のクラッシュを修正しました。

原文(英語)

Fixed a crash when removing a message from very large session files (over 50MB)

概要

セッションの会話履歴が50MBを超えるような大規模なセッションファイルにおいて、メッセージを削除しようとするとClaude Codeがクラッシュするバグが修正されました。長期間にわたって大量のコードや大きなファイルを扱うセッションでは、セッションファイルが50MBを超えることがあり、その状態でのメッセージ操作が不安定でした。v2.1.89で大規模セッションファイルの処理が改善されました。

基本的な使い方

メッセージの削除操作は、セッション内でのコンテキスト管理に使用されます:

bash
# セッションファイルのサイズ確認
ls -lh ~/.claude/sessions/
du -sh ~/.claude/sessions/*

# 大きなセッションが存在する場合
# 修正前: メッセージ削除でクラッシュしていた
# 修正後: 安定して動作する

実践例

セッションサイズの管理

bash
# セッションファイルが蓄積している場合
ls -lh ~/.claude/sessions/ | sort -k5 -h

# 50MBを超えるセッションを確認
find ~/.claude/sessions/ -size +50M -type f

# 大規模セッションの場合、/compact コマンドを使って圧縮する
# セッション内で実行:
/compact

大規模セッションでの操作

bash
# 長期間のセッションでファイルサイズが増大している場合
# 定期的に /compact を実行することでセッションを軽量化できる

# セッションを再開する場合
claude --resume SESSION_ID

# セッション一覧を確認
claude --list-sessions

注意点

  • セッションファイルが50MBを超えるのは、大量のファイル内容を読み込んだり、非常に長い会話を続けた場合です
  • /compact コマンドを定期的に使用することで、セッションサイズを適切に管理することを推奨します
  • クラッシュが発生した場合、セッションファイル自体は破損していないため、--resume で再開できます
  • 非常に大規模なプロジェクトでは、セッションを分割することも有効な戦略です

関連情報