Stream-drop regression in 2.1.141 ("Unhandled case: [object Object]" banner) — fixed in 2.1.142, confirming
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.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗