Skip to content

原文(日本語に翻訳)

トランスクリプトに古いCLIバージョンまたは中断されたwriteからのツール結果が含まれている場合に--resumeがクラッシュする問題を修正しました。

原文(英語)

Fixed --resume crash when transcript contains a tool result from an older CLI version or interrupted write

概要

--resume オプションで過去のセッションを再開しようとした際、セッションのトランスクリプト(会話履歴)に古いバージョンのClaude CLIで生成されたツール結果や、ファイル書き込みが途中で中断されたツール結果が含まれている場合にクラッシュが発生していました。v2.1.89でレガシーなトランスクリプト形式への対応が強化され、後方互換性が改善されました。

基本的な使い方

bash
# セッションの再開
claude --resume SESSION_ID

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

# 修正前: 古いCLIで作成したセッションや中断されたセッションを再開するとクラッシュ
# 修正後: 後方互換性が確保され、古いセッションも正常に再開できる

実践例

セッションIDを確認して再開する

bash
# 過去のセッション一覧を表示
claude --list-sessions
# 出力例:
# SESSION_ID   DATE         SUMMARY
# abc123def   2026-03-15   "TypeScript migration project"
# xyz789abc   2026-03-10   "Database schema refactoring"

# 古いセッションを再開する
claude --resume abc123def

# 修正後: バージョンが異なるセッションや中断されたセッションも再開可能

中断されたセッションの特定

bash
# セッションファイルを確認
ls ~/.claude/sessions/

# 中断されたセッションの場合(ファイルサイズが0または小さい)
ls -la ~/.claude/sessions/ | awk '$5 < 1000'

# 再開を試みる
claude --resume SESSION_ID

バックアップからの復元

bash
# セッションファイルのバックアップ
cp -r ~/.claude/sessions/ ~/claude-sessions-backup/

# バックアップからの復元
cp ~/claude-sessions-backup/SESSION_ID.json ~/.claude/sessions/

# 復元したセッションを再開
claude --resume SESSION_ID

注意点

  • 古いCLIバージョン(v2.1.89より前)で作成したセッションのトランスクリプトには互換性の問題がある場合がありました
  • 中断されたwrite操作(停電やプロセスkillなど)によって不完全なトランスクリプトが作成される場合があります
  • 修正後も完全に破損したファイルは再開できない場合があります
  • 重要なセッションは定期的に /compact でコンパクトすることで安定性が向上します

関連情報