バックグラウンドディスパッチの 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が優先して表示されます- エラークラス名だけでは根本原因の特定には不十分な場合があります(詳細ログと合わせて使用)
- この変更により、問題のバグ報告がより詳細になり、修正が速くなることが期待されます