原文(日本語に翻訳)
バックグラウンドジョブの進捗インジケーターが、ジョブが長時間実行のコマンドを実行している間、数分間停止したままになっていた問題を修正した
原文(英語)
Fixed background job progress indicators stalling for minutes while the job ran long commands
概要
claude agents(agent view)から ! プレフィックスでシェルコマンドをバックグラウンドジョブとして実行したり、実行中のタスクを Ctrl+B でバックグラウンドに切り替えたりすると、そのジョブの行に進捗を示すインジケーター(アニメーションやスピナー)が表示されます。これまでは、ジョブが npm run build のような長時間かかるコマンドを実行していると、実際にはジョブが動き続けているにもかかわらず、このインジケーターが数分間も止まって見えることがありました。今回の修正により、長時間コマンドの実行中でも進捗表示が正しく動き続けるようになり、ジョブが本当にハングしているのか、単に表示が固まっているだけなのかを判断しやすくなりました。
基本的な使い方
修正前:
1. agent view のダイアログ入力で `! npm run build` のようにバックグラウンドジョブを起動
2. ビルドが数分かかる間、行の進捗インジケーターが途中で止まって見える
3. ジョブがハングしたのか、実際に動作中なのか区別がつかない
修正後:
1. 同じようにバックグラウンドジョブを起動
2. 長時間コマンドの実行中も進捗インジケーターが動き続ける
3. ジョブが正常に実行中であることが見た目からも分かる実践例
大規模ビルドをバックグラウンドジョブとして実行する
bash
# agent view のダイアログ入力から実行
! npm run build
# 修正前は数分かかるビルド中に行のアニメーションが止まって見え、
# 修正後はビルドが完走するまでインジケーターが動き続ける長時間テストスイートの進捗を監視する
bash
! pytest -x --maxfail=1
# 長時間実行される単体テストやE2Eテストでも、
# 実行中であることをインジケーターから継続的に確認できる実行中のタスクをCtrl+Bでバックグラウンドに切り替える
1. インタラクティブセッションで長時間かかるコマンドを実行中に Ctrl+B を押す
2. タスクがバックグラウンドジョブとして切り替わる
3. 長時間コマンドの実行中もagent view上の進捗表示が正しく更新され続ける注意点
- 本修正は進捗表示(UI)のみに関するものであり、ジョブ自体の実行ロジックやパフォーマンスには影響しません
- ジョブが本当にハングしているかを確実に確認したい場合は、
claude attachやclaude logsでジョブの実際の出力を確認してください - インジケーターの更新頻度はジョブの種類や出力量によって多少前後することがあります