並列ツール呼び出しの独立性改善: Bashコマンド失敗が他のツールをキャンセルしなくなった
原文(日本語に翻訳)
並列ツール呼び出し: Bashコマンドの失敗が同じバッチ内の他の呼び出しをキャンセルしなくなりました。各ツールは独立して結果を返します。
原文(英語)
Parallel tool calls: a failed Bash command no longer cancels other calls in the same batch — each tool returns its own result independently
概要
Claude Code v2.1.161では、並列ツール呼び出しの動作が改善されました。これまでは同一バッチ内でBashコマンドが失敗すると、並列実行中の他のツール呼び出しもキャンセルされることがありました。今後は各ツール呼び出しが独立して結果を返すため、1つのBashコマンドの失敗が他のツールの実行結果に影響を与えなくなります。
基本的な使い方
この改善は自動的に適用されます。複数のツールが並列実行されている場合、一部が失敗しても他は続行されます。
bash
# Claudeに複数のタスクを並列で実行させる例
claude "以下を同時に実行してください:
1. npm test を実行する
2. README.md の内容を読む
3. git status を確認する"npm testが失敗しても、README.mdの読み取りとgit statusの確認は正常に完了するようになりました。
実践例
テストと静的解析の並列実行
Claudeへのリクエスト:
「テストを実行しながら、同時にコードの静的解析も行ってください」テストが失敗した場合でも、静的解析は独立して完了し、その結果が返ってきます。両方の結果をもとにClaudeがより包括的なフィードバックを提供できます。
マルチリポジトリの同時確認
「repo-a、repo-b、repo-c の git status をすべて同時に確認してください」いずれかのリポジトリでエラーが発生しても(例: 存在しないパス)、他のリポジトリの結果は正常に返されます。
ビルドと依存関係チェックの並列化
「npm build を実行しながら、同時に package.json の依存関係と node_modules の状態を確認してください」ビルドが失敗しても依存関係の確認結果は取得でき、問題の原因特定が容易になります。
改善前後の動作比較
改善前:
Bash(npm test) → 失敗 → Read(README.md) キャンセル
→ Bash(git status) キャンセル改善後:
Bash(npm test) → 失敗として記録
Read(README.md) → 正常完了
Bash(git status) → 正常完了注意点
- この改善は主にBashツールの失敗に関するものです
- 並列実行では各ツールが独立して動作するため、実行順序の保証はありません
- エラーが発生したツールの結果は失敗として記録され、Claudeがその情報を分析に活用します
- ツール間に依存関係がある場合は、Claudeが適切に順序を管理します(順序依存のタスクは並列化されません)