環境
- Claude Code 2.1.177
- モデル: Claude Opus 4.8(1M)
- macOS Tahoe 26.5.1
- iTerm 2 3.6.11
症状
エージェントがツールなどを呼び出す際にcourt から始まる素のテキストを出力してツールの実行に失敗する。
原因
いまいち再現性に乏しく謎。
- Opus 4.6
- Fable 5
では起きなかったからモデル起因のようにも思えるが、Claude Codeのバージョンやタスクが異なるから何も言えない。
暫定対処
CLAUDE.local.md に以下を追記して様子見中、今のところ問題なさそう。
## ツール / サブエージェント呼び出しの失敗対策(暫定) **症状:** `Agent` / `SendMessage` / `Skill` / `AskUserQuestion` 等の呼び出しが、稀に正規の関数呼び出しタグではなく `count` / `invoke` という素のテキストとして出力され、**実行されない**。プロンプトが大きい Agent ディスパッチや長文 SendMessage で頻度が上がる傾向。 **暫定対処:** 1. **呼び出しは必ず ASCII の正規タグ**(`function_calls` / `invoke`)で発行する。出力に `count` / `invoke` が見えたら、その呼び出しは失敗=未実行。**同じ内容をそのまま正規タグで即再送**する。 2. **失敗の影響範囲は「その呼び出しが実行されないこと」だけ。** 既に実行済みのファイル書き込み・commit・サブエージェント完了報告は巻き戻らず、`git log` と成果物で確認できる。再送時は**重複実行に注意**(commit / マイグレーション等の副作用は git log・DB を確認してから再送)。 3. **再発しやすい大きなディスパッチは payload を縮める。** サブエージェントへは計画の全文+コードを貼らず、`docs/superpowers/plans/<日付>-<feature>.md` の該当 Task 節を**参照で渡す**(「該当 Task 節のみ読め」)。1 メッセージあたりのツール呼び出し数も抑える。