Skip to content

原文(日本語に翻訳)

チームエージェントが設定されている場合に--printが永久にハングする問題を修正しました。終了ループが長時間実行されるin_process_teammateタスクを待ち続けなくなりました。

原文(英語)

Fixed --print hanging forever when team agents are configured — the exit loop no longer waits on long-lived in_process_teammate tasks

概要

--printフラグを使用したClaude Codeの非インタラクティブモードにおいて、チームエージェント(team agents)が設定されている環境では、処理完了後もin_process_teammateタスクの終了を待ち続けることでプロセスが永久にハングしてしまうバグが修正されました。修正後は--printモードの終了ループが長時間実行されるチームエージェントのタスクを待たずに正常に終了します。

基本的な使い方

bash
# チームエージェントが設定された環境での非インタラクティブ実行
claude --print "コードをレビューしてください"

# 修正前: チームエージェントのタスクを待ち続け、永久にハングすることがあった
# 修正後: 処理完了後に正常に終了する

実践例

CI/CDパイプラインでの使用

自動化パイプラインでClaude Codeを--printモードで使用する場合。

bash
# GitHub Actionsなどのパイプラインでの実行
claude --print "プルリクエストの変更内容をレビューしてください" > review.txt

# 修正前: チームエージェント設定がある場合、このコマンドがタイムアウトまでハングすることがあった
# 修正後: レビュー完了後に正常に終了し、結果がreview.txtに保存される

バッチ処理でのClaude Code使用

複数のファイルを順番に処理するバッチスクリプトでの利用。

bash
#!/bin/bash
# 複数ファイルを順番に処理
for file in src/*.ts; do
  claude --print "このファイルのコードスメルを指摘してください: $file" >> report.txt
  # 修正後: 各ファイルの処理が完了したら次のファイルに進む
done

結果の自動収集

スクリプトでClaude Codeの出力を収集する場合。

bash
# 分析結果を収集
RESULT=$(claude --print "このリポジトリのセキュリティリスクを分析してください")
echo "$RESULT" | jq '.'  # JSON形式の結果を処理

# 修正後: $RESULTに正しく結果が格納され、処理が継続できる

注意点

  • この修正はv2.1.71以降で適用されます。
  • チームエージェント(team agents)を使用していない場合、この問題は発生しませんでした。
  • --printモードはインタラクティブなUIなしでClaude Codeを実行するためのモードで、自動化に適しています。
  • in_process_teammateタスクは長時間実行されることがあるため、このような待機問題が発生していました。

関連情報