Skip to content

原文(日本語に翻訳)

コマンドがゼロ以外のステータスで終了した場合に、Bashツールのエラーメッセージに出力が重複表示される問題を修正しました。

原文(英語)

Fixed duplicate output in Bash tool error messages when commands exit with non-zero status

概要

Bashツールでコマンドを実行した際に、コマンドが非ゼロのexit status(エラー終了)を返した場合に、エラーメッセージ内に出力内容が重複して表示されるバグが修正されました。この問題により、エラー出力が2回表示され、読みにくいログや誤解を招く可能性がありました。修正後はエラー発生時でも出力が一度だけ正しく表示されます。

基本的な使い方

この修正はv2.1.71以降で自動的に適用されます。Bashコマンドがエラーで終了した場合でも、出力が重複しなくなります。

bash
# エラーが発生するコマンドの例
ls /nonexistent-directory

# 修正前: エラーメッセージと出力が重複して表示されていた
# 修正後: エラーメッセージが一度だけ表示される

実践例

コンパイルエラーの確認

コードのコンパイルが失敗した場合のエラー表示が改善されます。

bash
# TypeScriptコンパイルエラー
npx tsc --noEmit

# エラー出力の例(修正前):
# error TS2345: Argument of type 'string' is not assignable...
# error TS2345: Argument of type 'string' is not assignable...  ← 重複していた
# Exit code: 2

# エラー出力の例(修正後):
# error TS2345: Argument of type 'string' is not assignable...
# Exit code: 2  ← 重複なし

テスト失敗の確認

テストが失敗した場合のエラー出力が見やすくなります。

bash
# テスト実行(失敗する場合)
npm test

# 修正後: テストの失敗メッセージが重複せず、一度だけ表示される
# → エラーの内容を正確に把握しやすくなる

パッケージインストールエラー

パッケージマネージャーのエラーが明確に表示されます。

bash
# インストール失敗
npm install nonexistent-package

# 修正後: エラーメッセージが重複なく表示される
# → 問題の診断が容易になる

注意点

  • この修正はv2.1.71以降で自動的に適用されます。
  • 正常終了(exit code 0)のコマンドには影響しません。
  • この修正によりログの可読性が向上し、Claudeがエラー内容をより正確に解析できるようになります。
  • 標準出力(stdout)と標準エラー出力(stderr)の両方に対して修正が適用されています。

関連情報