[Bug] Live ↓ tokens counter absent during thinking phase (2.1.177 -> 2.1.178 regression)

Open 💬 3 comments Opened Jun 29, 2026 by rhgg2

Until a few days ago, while the model was thinking, the spinner's ↓ <N> tokens counter showed thinking tokens being produced. Since maybe the weekend, it no longer displays a token count during the thinking phase, so a stuck API call is indistinguishable from ongoing thinking. Counting resumes once the answer text starts, and everything else works normally.

Ruled out (directly tested):

  • Local config: no telemetry settings/env in any layer; showThinkingSummaries makes no difference.
  • Client version: reproduces identically on 2.1.178, 2.1.191, 2.1.193, 2.1.195.

Wire capture (local plaintext proxy capturing /v1/messages SSE):

  • Thinking phase ~8.5 s, 12 thinking_delta events streamed.
  • usage.output_tokens reported only at message_start (=1) and once during the answer (=1582). Zero incremental usage events during the 8.5s thinking phase.

Conclusion: ~~No per-token telemetry reaches the client during thinking, so the counter has nothing to advance. Appears server-side / API-stream, not client-version.~~

Edit: the diagnosis below by @zhuran24 is on the money. Seems to be a regression from 2.1.177 to 2.1.178.

Expected: counter shows thinking tokens as thinking_delta events arrive, as it did approx 1 week ago.
Actual: counter is absent during thinking, and reappears only once answer streams.

Environment Info

  • Claude Code v2.1.195
  • macOS (Darwin 22.6.0), fullscreen TUI
  • Model: Opus 4.8, effort high
  • Direct Claude API (no Bedrock/Vertex/proxy/gateway)
  • Terminal: ghostty
  • Feedback ID: fce0d483-527f-4279-992e-223f2a6e8f76

View original on GitHub ↗

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