Skip to content

原文(日本語に翻訳)

不正なシャットダウンによって破損したワーカー記録が残った場合、Linux上のbackground-agentデーモンが約50秒ごとに自分自身と実行中のすべてのエージェントをkillしてしまう問題を修正

原文(英語)

Fixed the background-agent daemon on Linux killing itself and every running agent every ~50 seconds after an unclean shutdown left a corrupted worker record

概要

Linux環境でbackground-agentデーモンが不正な形(クラッシュや強制終了など)でシャットダウンすると、ワーカーの状態を記録するレコードが破損した状態で残ってしまうことがありました。この破損したレコードが存在すると、デーモンが再起動後も約50秒間隔でデーモン自身と実行中のすべてのバックグラウンドエージェントをkillし続けるという深刻な問題が発生していました。この修正により、破損したワーカー記録が原因でこのような自滅的な動作が発生しないようになりました。

基本的な使い方

Before(修正前):

1. 何らかの理由でbackground-agentデーモンが不正終了(unclean shutdown)
   → 破損したワーカー記録が残る
2. デーモンが再起動
3. 約50秒後、デーモンが自分自身と実行中の全エージェントをkill
4. 再起動してもまた約50秒後に同じことが繰り返される

After(修正後):

1. デーモンが不正終了しても、破損したワーカー記録が
   適切に検出・処理される
2. デーモン再起動後も自滅的なkillループは発生しない
3. バックグラウンドエージェントは正常に稼働を継続できる

実践例

システムクラッシュや強制終了後のLinux環境での作業再開

停電やOOM Killerなどによってbackground-agentデーモンが不正終了した後にマシンを再起動した場合、修正前はデーモンが起動してもすぐに自滅ループに陥り、バックグラウンドエージェントが一切使えない状態になっていました。修正後はこのような状況からでも正常に復旧します。

長時間バックグラウンドエージェントを稼働させ続けるサーバー運用

CI環境やリモートのLinuxサーバーでbackground-agentデーモンを継続的に稼働させている場合、予期しないプロセス終了が発生しても、以降の稼働に致命的な影響を残さなくなりました。

claude agents でのバックグラウンドタスク管理

claude agents でagents viewを開いて複数のバックグラウンドタスクを管理している最中にデーモンが異常終了しても、修正後は再起動後の安定稼働が期待でき、繰り返しタスクが強制終了される事態を避けられます。

注意点

  • 本修正はLinux環境のbackground-agentデーモンに固有の問題です。
  • 既に破損したワーカー記録が残っている環境では、Claude Codeを最新版に更新することで問題が解消されます。改善が見られない場合はデーモンプロセスの再起動やキャッシュ・状態ファイルの確認も検討してください。
  • 2.1.195や2.1.196で行われたbackground-agentデーモンの信頼性向上に関する一連の修正の延長線上にある改善です。

関連情報