Skip to content

バックグラウンドディスパッチの spawn 失敗時にエラークラス名を報告 ​

原文(日本語に翻訳) ​

バックグラウンドディスパッチの spawn 失敗時に、errno が利用できない場合はエラークラス名を報告するようになりました。

原文(英語) ​

Background dispatch spawn failures now report the error class name when no errno is available

概要 ​

バックグラウンドセッションのディスパッチ(プロセス起動)に失敗した場合、以前は errno が取得できない状況では意味のあるエラー情報が表示されませんでした。v2.1.162 からは、errno が利用できない場合でも JavaScript のエラークラス名(例: TypeError、RangeError など)が表示されるようになります。問題の診断と解決が容易になります。

基本的な使い方 ​

bash
# バックグラウンドサービスの起動が失敗した場合の表示変化

# 修正前(errno なし):
# エラー: バックグラウンドサービスの起動に失敗しました

# 修正後(エラークラス名付き):
# エラー: バックグラウンドサービスの起動に失敗しました [TypeError: Cannot read properties of undefined]
# または
# エラー: バックグラウンドサービスの起動に失敗しました [RangeError: Maximum call stack size exceeded]

実践例 ​

エラークラス名を使った診断 ​

bash
# バックグラウンドセッションを開始
claude --background "長時間タスク"

# 失敗した場合のエラークラスによる診断
# TypeError → 設定やパスの問題の可能性
# RangeError → リソース制限(スタックオーバーフロー等)の可能性
# NetworkError → ネットワーク接続の問題の可能性

ログを使ったデバッグ ​

bash
# 詳細ログを有効にしてエラーを調査
CLAUDE_DEBUG=1 claude --background "タスク"

# エラークラス名がログに含まれるようになった
# → issue 報告や問題解析に役立つ

GitHub Issues へのバグ報告 ​

bash
# エラーが発生した場合のバグ報告情報収集
claude --background "問題が発生するタスク" 2>&1 | tee error.log

# error.log にエラークラス名が含まれるようになった
# → バグレポートに含める有用な情報
cat error.log

注意点 ​

  • エラークラス名は JavaScript の実行時エラーの種類を示します
  • errno が利用できる場合は引き続き errno が優先して表示されます
  • エラークラス名だけでは根本原因の特定には不十分な場合があります(詳細ログと合わせて使用)
  • この変更により、問題のバグ報告がより詳細になり、修正が速くなることが期待されます

関連情報 ​