Skip to content

修正:バックグラウンドエージェントのタスク出力がポーリング間隔でハングする競合状態

原文(日本語に翻訳)

タスクがポーリング間隔の間に完了した場合にバックグラウンドエージェントのタスク出力が無期限にハングする可能性がある競合状態を修正。

原文(英語)

Fixed a race condition where background agent task output could hang indefinitely when the task completed between polling intervals

概要

バックグラウンドで実行されるエージェントタスクが、ポーリングのチェック間隔のまさにその間に完了した場合、タスク出力の取得が無期限にハングしてしまう競合状態(race condition)が修正されました。これにより、バックグラウンドタスクの完了後に結果が適切に返されるようになり、タスクが「完了したのに結果が返ってこない」という状況が解消されます。

基本的な使い方

修正後は、バックグラウンドタスクが確実に完了・結果取得できるようになります:

# バックグラウンドタスクを開始
claude task start "テストを実行してレポートを生成してください"

# タスク完了後、結果が確実に取得される(以前はハングする場合があった)
claude task output <task-id>

実践例

### 長時間タスクのバックグラウンド実行

bash
# バックグラウンドでコードベース全体の分析
claude -p "このコードベースのセキュリティ脆弱性を分析してください" &

# タスク完了後、結果が正確に返される

### 並列バックグラウンドタスク

複数のタスクを並行して実行する場合でも、それぞれが正しく完了・結果返却:

bash
# 複数のエージェントタスクを並行実行
# それぞれが完了タイミングが異なっても確実に結果取得可能

注意点

  • この修正は特にタスクの完了が非常に高速な場合(数ミリ秒以内)に効果的
  • バックグラウンドタスクを多用しているワークフローでは安定性が向上
  • ポーリング間隔の設定は変更されていない

関連情報