原文(日本語に翻訳)
バックグラウンドエージェントを改善: デーモンの再起動によって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から状態を確認できます
関連情報
- Claude Code Agent View ドキュメント
- Claude Code Changelog
- [[2.1.195-background-agent-daemon-socket-fix]] - コントロールソケット起動失敗時のデーモン到達不能問題の修正