Skip to content

原文(日本語に翻訳)

ツールバッチの途中で中断されたセッションを再開する際に、フォークされたエージェント(自動コンパクト、要約)でAPI 400エラーが発生していた問題を修正しました

原文(英語)

Fixed API 400 errors in forked agents (autocompact, summarization) when resuming sessions that were interrupted mid-tool-batch

概要

Claude Code では自動コンパクション(会話の圧縮)や要約処理にフォークされた内部エージェントを使用しています。ツールの処理バッチの途中でセッションが中断された状態でセッションを再開しようとすると、これらのフォークされたエージェントが API 400 エラーを返すバグがありました。修正後は、中断されたツールバッチを含むセッションも正しく再開できます。

基本的な使い方

この修正は自動的に適用されます。セッション再開時のエラーが解消されます。

bash
# セッションを再開する
claude --resume

# 修正後: ツールバッチ途中で中断されたセッションも正常に再開できる

実践例

問題が発生していたシナリオ

シナリオ: 複数のツール呼び出し中の中断

1. Claude が複数のファイルを編集する大きなタスクを実行中
   - ツールバッチ: [Edit(file1), Edit(file2), Edit(file3)]

2. file2 の編集中にセッションが中断
   - ネットワーク障害
   - Ctrl+C による強制終了
   - システムシャットダウン

3. セッションを再開しようとする
   claude --resume

修正前:
→ フォークされた autocompact エージェントが 400 エラー
→ セッション再開に失敗

修正後:
→ 中断状態を正しく処理してセッションが再開される

セッション再開の基本操作

bash
# 最後のセッションを再開
claude --resume

# 特定のセッションを再開
claude --resume --session-id <session-id>

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

自動コンパクションの動作

自動コンパクション(autocompact):
- 会話が長くなるとコンテキストウィンドウの圧縮を自動実行
- フォークされた内部エージェントが古い会話を要約

修正後: ツールバッチ途中の中断があっても、
autocompact エージェントが正しく動作する

注意点

  • この問題は「ツールバッチの途中」での中断時のみ発生していました
  • ツールの実行が完了した後の中断では問題ありませんでした
  • セッション再開機能 (--resume) と自動コンパクション機能の組み合わせで発生していました
  • 修正後はより堅牢なセッション再開が可能になりました

関連情報