Skip to content

原文(日本語に翻訳)

クリーンアップ中に 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 に残り続ける問題がありました
  • 修正後は適切なタイムアウト処理が実装され、ハングが発生してもタスク状態が更新されます

関連情報