Skip to content

原文(日本語に翻訳)

再開されたトランスクリプトチェーンの進捗メッセージのギャップにより、コンテナ再起動後にリモートセッションが会話履歴を忘れる問題を修正しました。

原文(英語)

Fixed remote sessions forgetting conversation history after a container restart due to progress-message gaps in the resumed transcript chain

概要

Docker コンテナなどで Remote Control セッションを実行中にコンテナが再起動した場合、再開されたトランスクリプト(会話記録)チェーンに進捗メッセージのギャップが生じ、会話履歴が失われてしまう問題が修正されました。修正後はコンテナ再起動後も会話履歴が正しく保持されます。

基本的な使い方

コンテナ再起動後もセッション履歴が維持されます。

bash
# リモートコンテナで Claude Code が実行中
# コンテナが再起動(OOM kill、定期再起動など)
$ docker restart claude-container

# 修正前: 再起動後に会話履歴が失われていた
# 修正後: 会話履歴が保持されたまま続行できる

実践例

ユースケース: 長期実行コンテナでの安定性向上

数日間実行し続けるようなリモートセッションで、コンテナ再起動後も文脈が保持されます。

bash
# Kubernetes で長期実行中のセッション
# Pod が再起動(liveness probe 失敗、リソース制限など)しても
# 修正後: 会話コンテキストが保持される
$ kubectl get pods  # Pod が再起動済み
# しかし Claude Code セッションの会話履歴は継続

ユースケース: クラウド環境での信頼性向上

AWS ECS や Google Cloud Run など、コンテナが自動的に再起動する環境での信頼性が向上します。

bash
# ECS タスクの再起動後
# 修正後: セッションが継続して会話履歴が維持
$ claude --channels
# 以前の会話コンテキストが保持されている

注意点

  • この問題はコンテナ環境での Remote Control セッションに固有の問題でした
  • 「進捗メッセージのギャップ」はトランスクリプトの整合性に影響していました
  • 修正後はトランスクリプトチェーンが適切にガップを処理して履歴を保持します
  • 非常に長いセッションはコンテキストウィンドウ制限によって圧縮される場合があります(これは別の動作です)

関連情報