Skip to content

原文(日本語に翻訳)

バックグラウンドエージェントを改善: デーモンの再起動によってkillされたワーカーは、次にagents viewを開いたタイミングで、中断された箇所から自動的に再開されるようになった

原文(英語)

Improved background agents: workers killed by a daemon restart are now automatically resumed from where they left off the next time the agents view opens

概要

バックグラウンドエージェントは、バックグラウンドエージェントデーモンが管理するワーカープロセスによって実行されています。Claude Code自体のアップデートやシステムメンテナンスなどでデーモンが再起動すると、実行中のワーカーがkillされ、それまでの作業が失われてしまう可能性がありました。今回の改善により、デーモン再起動でkillされたワーカーは、次に claude agents でagents viewを開いたタイミングで自動的に検出され、中断された箇所から再開されるようになりました。

基本的な使い方

bash
# バックグラウンドエージェントを起動
claude --background "大規模リファクタリングを実行してください"

# 別の作業の合間に、agents view を開いて状態を確認
claude agents

デーモンがその間に再起動していたとしても、claude agents を開いた時点で中断されたワーカーが自動的に再開されるため、ユーザー側で追加の操作をする必要はありません。

実践例

Claude Codeのアップデートに伴うデーモン再起動

1. バックグラウンドエージェントが大規模なテストスイートを実行中
2. 別ターミナルで `claude update` を実行し、Claude Code 本体をアップデート
3. アップデートに伴いバックグラウンドエージェントデーモンが再起動
   → 実行中だったワーカープロセスがkillされる

修正前:
   ❌ ワーカーがkillされたまま放置され、テスト実行の進捗が失われる
   ❌ ユーザーがagents viewを開いても作業は再開されず、手動で再起動が必要

修正後:
   ✅ 次に `claude agents` を開いた時点で、killされたワーカーが検出される
   ✅ 中断された箇所から自動的に再開され、作業が継続される

システムメンテナンス後の状態確認

bash
# システムメンテナンスや再起動が発生した後
claude agents

# 以前バックグラウンドで起動していたエージェントがあれば、
# このタイミングでデーモン再起動によるkillが検知され、自動再開される

長時間タスクをバックグラウンドで実行しながらの並行作業

ユーザー: 大きな移行スクリプトをバックグラウンドで走らせて、
         その間に別の機能を実装してほしい

Claude: バックグラウンドエージェントで移行スクリプトを開始します。
       [バックグラウンドエージェント起動]

       (この間にClaude Code自体のアップデートでデーモンが再起動しても)

       ユーザー: claude agents で状況を確認
       → 修正後は、再起動でkillされたワーカーがあれば自動的に
         中断箇所から再開され、移行スクリプトの完了まで見届けられる

注意点

  • 再開がトリガーされるのは「次にagents viewを開いたタイミング」であるため、agents viewを開くまでは再開されません。長時間放置せず、定期的に claude agents を確認することが望ましいです
  • 本改善はデーモンの「再起動」によってkillされたワーカーが対象であり、ワーカー自体のクラッシュやタスク内のエラーによる失敗を自動的に解決するものではありません
  • 2.1.195で修正された「コントロールソケット起動失敗時のデーモン到達不能問題」と合わせて、バックグラウンドエージェントデーモンの信頼性向上の一環として位置づけられています
  • 再開後の動作も通常のバックグラウンドエージェントと同様に、agents viewから状態を確認できます

関連情報