原文(日本語に翻訳)
クリーンアップ中に git や API 呼び出しがハングした場合に、バックグラウンドエージェントのタスクが「実行中」状態のまま停止してしまう問題を修正しました。
原文(英語)
Fixed background agent tasks staying stuck in "running" state when git or API calls hang during cleanup
概要
バックグラウンドエージェントがタスクを完了してクリーンアップ処理を行う際、git コマンドや API 呼び出しがハングした場合に、エージェントのタスクが「実行中(running)」状態のまま永続的に残ってしまう問題が修正されました。これにより、完了したはずのタスクが UI 上で「実行中」のままになるという混乱が解消されます。
基本的な使い方
この修正はバックグラウンドエージェントの内部的な状態管理を改善します。ユーザーは特別な操作をする必要はありません。
bash
$ claude
> バックグラウンドでコードをコミットして
# エージェントがタスクを実行
# クリーンアップ中に git がハングしても
# 修正後: タスクは適切に「完了」または「失敗」状態に移行する実践例
ユースケース: git 操作を含むバックグラウンドタスク
git コマンドがタイムアウトやハングした場合でも、タスクの状態が正しく更新されます。
bash
$ claude
> バックグラウンドで以下を実行してください:
> 1. テストを実行
> 2. 通ったらコミットして
# git commit がネットワーク問題などでハングしても
# 修正後: タスクが "stuck in running" にならず、適切にエラー状態になるユースケース: API 呼び出しを含むタスクの状態管理
外部 API への呼び出しがタイムアウトした場合でも同様に、タスク状態が正しく管理されます。
bash
$ claude
> バックグラウンドで外部 API からデータを取得して処理して
# API 呼び出しがタイムアウトしても
# 修正後: "running" 状態に固まらず、エラーとして報告される注意点
- この問題はクリーンアップフェーズ(タスク本体の実行完了後の後処理)でのみ発生していました
- 「実行中」のままになったタスクは、セッション再起動まで UI に残り続ける問題がありました
- 修正後は適切なタイムアウト処理が実装され、ハングが発生してもタスク状態が更新されます