Spurious token "court" emitted between tool calls breaks tool-call parsing and aborts the turn

Open 💬 3 comments Opened Jun 30, 2026 by VGMVS

What happens

The model intermittently emits a stray token (court, sometimes repeated hundreds of times) in the assistant output between tool calls. It appears where inter-tool reasoning/preamble text would normally go, and it corrupts the tool-call stream — the turn stalls or has to be interrupted manually.

Frequency / trigger

  • Reproduced repeatedly within a single long session (5+ times in a row at one point).
  • Strongly correlated with producing narration/reasoning text between consecutive tool calls. Tool calls emitted with no preamble text in front of them go through clean.
  • Partial workaround: batch tool calls together and emit no prose between them.

Impact

  • Turns abort or hang; user must interrupt manually.
  • Very disruptive in long multi-tool workflows (many sequential file edits / MCP calls).

Environment

  • Claude Code CLI: 2.1.196
  • Model: Claude Opus 4.8 (1M context) — id reported in-session as claude-opus-4-8[1m]
  • OS: Linux 6.14.x

Notes

The literal token observed was court. Possibly a tokenizer/decoding edge case or a prompt-cache interaction. User noted it seemed to start after a recent version change.

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗