Stream-drop regression in 2.1.141 ("Unhandled case: [object Object]" banner) — fixed in 2.1.142, confirming

Resolved 💬 2 comments Opened May 15, 2026 by lorddaymoon Closed May 15, 2026

Summary

Reproducible stream drops on extension v2.1.141 (darwin-arm64) showing the Unhandled case: [object Object] banner. Upgrading to v2.1.142 eliminated the drops entirely. Filing so the team can confirm root cause and close out the regression.

Symptom

  • Red banner at top of VSCode: Unhandled case: [object Object]
  • Session appears stuck on "Thinking…" while the SDK actually keeps running in the background and commits work
  • Strongly correlates with long silent thinking blocks (heavy reasoning prompts where no tool calls are in flight)

Pattern in extension log

Every visible drop matched this signature:

T+0s    [WARN] [Stall] stream_idle_partial lastChunkAgeMs=15000 bytesTotal=0
T+15s   sdk_stream_ended_no_result had_error=true

A 15-second silent thinking block triggers the SDK warning, then the connection is closed ~15s later. The renderer has no case for the had_error=true event payload, which is why it stringifies as [object Object] (separate UI bug worth fixing too).

Frequency on 2.1.141

In a single ~2 hour window:

  • 4 visible drops (msg_count values: 540, 329, 415, 422)
  • 22+ idle stall warnings
  • All on heavy-reasoning turns

Fix verified on 2.1.142

Ran the same kind of heavy multi-file audit prompt that consistently crashed 2.1.141:

  • 1 stall warning at 15s
  • First chunk arrived 7s later
  • 0 drops, prompt completed cleanly

Diagnostic technique (for root-cause confirmation)

Side-by-side idle TLS test on the same machine + same network:

google.com:443        → idle TLS connection lasted 241 seconds
api.anthropic.com:443 → idle TLS connection lasted  15 seconds

16x difference. The Anthropic edge has a much more aggressive idle timeout than typical HTTPS edges. The SDK normally compensates with keepalives during streaming; the 2.1.141 regression appears to have been in that keepalive behavior during silent thinking blocks. Inference, not confirmed — would love to know the actual root cause.

Environment

  • macOS 13 (Darwin 22.6.0), Apple Silicon
  • VSCode Claude Code extension: 2.1.141 (broken) → 2.1.142 (fixed)
  • No proxy, no VPN, no endpoint security in path

Happy to share raw log excerpts if useful.

View original on GitHub ↗

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