Claude Codeで「court」やinvokeタグが出力される——ツール呼び出しが実行されないエラーの原因と対処
Claude Codeで長時間作業していると、突然「court」や生の<invoke name="Bash">タグが画面に漏れ、ツール呼び出しが実行されない——そんな現象に遭遇したことはないだろうか。これはあなたの環境やコマンドのミスではなく、Claude(特にOpus 4.8/4.7系)がツール呼び出しの制御タグを生成する瞬間に、まれにそのタグが壊れて出力されるモデル側の既知の不具合だ。Anthropic公式リポジトリにも多数のIssue(#64108, #64150, #64690, #65705, #66153, #67295, #68354)が立っている。本記事では、エージェントがツール呼び出しもテキストとして「生成」している仕組み、ハーネスがfail-closedで弾くため誤コマンドは走らない安全性、原因の2層構造(①制御トークンの生成破損+②壊れたブロックが履歴に残ることでモデルが真似て連鎖する自己汚染)、誘発条件(長時間・複数日セッション、重いコンテキスト、/compact後、複数ツール同時、3+MCP、長いツール引数)、よくある3つの誤解(暴走ではない/courtに意味はないが目印/再試行で直るは軽症時のみ)、ユーザー向け対処(2回外したら新セッション/clearへ逃げる・/compactは不確実)、開発者向け対処(stop_reason確認・invoke混入検出リトライ・壊れた履歴を残さない・引数短縮)、似たエラー(thinking署名400・max_tokens切断・Bedrock第三者連携)との見分け方、2026年6月時点で公式修正が未提供である対応状況までを、公式ドキュメントと実Issueに基づいて完全解説する。