# Bug: tool calls intermittently emitted as literal text (stray `court` + raw `<invoke>` XML), not executed

Open 💬 1 comment Opened Jun 26, 2026 by akira8413

Environment

  • Claude Code, model claude-opus-4-8
  • macOS (darwin 25.5.0), zellij + 別ペインで ocusnight watcher がセッションを駆動
  • 長時間セッション(compact/resume を経た継続セッション)

Symptom(症状)

ツール呼び出しを出すと、稀にパース・実行されず、アシスタントの平文テキストとして画面に出る:

  • 先頭に謎のトークン court
  • 直後に内側のツール呼び出しマークアップが生で続く: <invoke name="Read"><parameter name="file_path">...</parameter>...</invoke>
  • 正しい外側の function-call デリミタが無いため、ハーネスがツールとして解釈せず実行されない(tool result が返らない)
  • 同一の呼び出しを次メッセージで再送すると成功する

Frequency(頻度)

1セッションで約6回。対象ツール: Read(MEMORY.md / CLAUDE.md)、Bash(grep / node+Pinecone クエリ)、Write(本バグ報告)。毎回リトライで成功。

Likely area(推定)

function-call の開始デリミタが、リテラル文字列 court + 裸の内側XML に化けている。
ツール呼び出しが長い散文ブロックの直後に同一メッセージ内で来るときに誘発されやすい印象。ストリーミング/エンコードでの envelope 生成 or パースの不具合を疑う。

Impact(影響)

  • ターンの空転・リトライ
  • court と生XML がユーザー画面に表示され「壊れている」ように見える
  • 機微なデバッグ作業中に信頼を損ねた

Workaround

同一ツール呼び出しを新しいメッセージで再送すると通る。

Repro(再現・best-effort)

非決定的。相関: 長いセッション(post-compact resume)/ 呼び出し直前に長い散文 / 隣接 ocusnight ペインがセッションを駆動。

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗