grep が単に何も見つけずに終了(正常な exit 1)しただけだった。なのにそれが、同じバッチの pwd や echo hello ——失敗のしようがないコマンドまで——を巻き添えにキャンセルした。モデルは環境が壊れたと判断し、確かめてもいない結果を語り始めた。」(#64346 の事例より)
Claude Code が1ターンで複数のツールを並列に呼ぶとき、そのうち1つが失敗すると、残りの無関係なコールまで一斉にキャンセルされることがあります(#22264)。さらに厄介なのは、空に見えた結果をモデルが「受け取った」と思い込み、受け取っていない出力を作文し、ときに言ってもいない指示まであなたの発言として書き込むことです(#63538)。このツールは、あなたのセッションログから巻き添えの規模と、その「結果」を語ったら捏造になるコールを洗い出します。
grep が単に何も見つけずに終了(正常な exit 1)しただけだった。なのにそれが、同じバッチの pwd や echo hello ——失敗のしようがないコマンドまで——を巻き添えにキャンセルした。モデルは環境が壊れたと判断し、確かめてもいない結果を語り始めた。」(#64346 の事例より)
場所: ~/.claude/projects/<プロジェクト>/<セッションID>.jsonl(一番大きい・新しいファイルが直近のセッション)
Cancelled: parallel tool call … errored が、ツール結果の本体になっているコールだけを数えます。ログの本文にその文字列が偶然含まれる場合(このページの説明文を実行結果に貼った等)は数えません。400 thinking blocks cannot be modified で二度と開けなくなる変種(#63192 / #63147)は、署名の検証がブラウザの中ではできないため、このツールでは判定しません。その症状が出たセッションの救出は 拡張思考セッションの救出ツール を使ってください。exit 1 を返しやすいコマンドを、重要な並列バッチと同じターンに混ぜない。grep 等は || true を末尾に付け、正常な「no-match」が兄弟を巻き添えにしないようにする。Cancelled: parallel tool call が出たターンの後でモデルが「実行結果」を語っていたら、その語りは受け取った結果ではない可能性がある。該当のコールだけを名指しでもう一度実行させる。/clear して文脈を切り、壊れたメッセージを履歴から外す(永久ロックの予防にもなる)。rm -rf、強制 push、秘密の漏れ、壊れたデプロイを止める例を多数収録。npx cc-safe-setup ひとつで導入)。