feat: investigate impact of disabled line-by-line streaming on WSL (v2.1.81) #236

Closed
opened 2026-03-23 14:01:44 -07:00 by hikari · 1 comment
Owner

Context

Claude Code v2.1.81 disabled line-by-line response streaming on Windows, including WSL in Windows Terminal, due to rendering issues.

Why This Matters

Hikari Desktop uses a WslBridge to communicate with Claude Code via --output-format stream-json (NDJSON). This change may affect how we receive and parse streamed output, since the line-by-line streaming behaviour has changed on WSL.

Tasks

  • Test current stream parsing against Claude Code v2.1.81 in a WSL environment
  • Verify that NDJSON output is still received correctly via WslBridge
  • Check if response rendering feels different (e.g. output arrives in larger chunks)
  • Update stream parsing logic in src-tauri/src/wsl_bridge.rs if needed

References

  • Claude Code v2.1.81 changelog
  • src-tauri/src/wsl_bridge.rs

This issue was created with help from Hikari~ 🌸

## Context Claude Code v2.1.81 disabled line-by-line response streaming on Windows, including **WSL in Windows Terminal**, due to rendering issues. ## Why This Matters Hikari Desktop uses a `WslBridge` to communicate with Claude Code via `--output-format stream-json` (NDJSON). This change may affect how we receive and parse streamed output, since the line-by-line streaming behaviour has changed on WSL. ## Tasks - [ ] Test current stream parsing against Claude Code v2.1.81 in a WSL environment - [ ] Verify that NDJSON output is still received correctly via `WslBridge` - [ ] Check if response rendering feels different (e.g. output arrives in larger chunks) - [ ] Update stream parsing logic in `src-tauri/src/wsl_bridge.rs` if needed ## References - Claude Code v2.1.81 changelog - `src-tauri/src/wsl_bridge.rs` ✨ This issue was created with help from Hikari~ 🌸
Author
Owner

Resolution: Non-Issue

Tested by capturing live stream-json output from Claude Code v2.1.81 via:

npx @anthropic-ai/claude-code@2.1.81 --output-format stream-json --verbose -p "say hello"

Findings:

  • The NDJSON structure is completely intact — every message is still a complete JSON object on its own line
  • The "disabled line-by-line streaming" change was terminal rendering only and does not affect the pipe-based stream that WslBridge reads
  • The --verbose flag is only required when using --print / -p mode — our interactive subprocess invocation is unaffected

No changes needed to wsl_bridge.rs or the stream parsing logic. Closing as non-issue.

## Resolution: Non-Issue ✅ Tested by capturing live stream-json output from Claude Code v2.1.81 via: ```bash npx @anthropic-ai/claude-code@2.1.81 --output-format stream-json --verbose -p "say hello" ``` **Findings:** - The NDJSON structure is completely intact — every message is still a complete JSON object on its own line - The "disabled line-by-line streaming" change was **terminal rendering only** and does not affect the pipe-based stream that `WslBridge` reads - The `--verbose` flag is only required when using `--print` / `-p` mode — our interactive subprocess invocation is unaffected No changes needed to `wsl_bridge.rs` or the stream parsing logic. Closing as non-issue.
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: nhcarrigan/hikari-desktop#236