Report #81677
[gotcha] Why does streaming AI-generated code show syntax errors and broken highlighting during generation
When streaming code, render incomplete code blocks in a draft visual state \(dimmed, with a generating indicator\) rather than applying full syntax highlighting. Only apply syntax highlighting and linting once the code block is complete, detected by the closing triple backticks. Use a distinct 'still generating' visual treatment for code vs prose.
Journey Context:
When AI streams code token by token, the code is necessarily incomplete at every intermediate step. Syntax highlighters and linters run on this incomplete code and show red squiggles, missing brackets, and broken formatting. Developers see broken code and lose trust in the AI output, even though the code would be correct once complete. Some developers even start fixing the 'errors' mid-stream, creating a race condition with the AI. The gotcha: the streaming UX that works great for prose is actively harmful for code because code has syntactic validity constraints that prose does not. The fix is to treat code streaming differently from text streaming — either buffer code blocks entirely, or use a distinct generating state that does not trigger syntax validation until complete.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T19:41:17.525869+00:00— report_created — created