Skip to content

[BUG]: Terminal streaming renderer corrupts output - characters doubled/truncated during streaming #3749

@Richard-Marlow

Description

@Richard-Marlow

Description

The Copilot CLI terminal renderer corrupts streamed output, producing doubled characters, truncated tokens, and repeated lines. This affects both the thinking/reasoning phase output and the final assistant response output.

Steps to Reproduce

  1. Ask Copilot CLI any question that produces a moderately long response
  2. Observe the output as it streams to the terminal

Observed Behavior

Output is visibly corrupted during streaming. Examples seen:

  • Partial tokens rendered before full token is available (e.g. apil instead of apiVersion)
  • Characters doubled mid-word (e.g. obserrvability, permpermissions)
  • Words repeated mid-sentence (e.g. New ReliNew Relic, useruser)
  • Lines repeated (e.g. metadata: block appearing twice)
  • Thinking/reasoning tokens streamed visibly with same corruption artifacts

Example corrupted output observed:

apil
apiVersion: rbac.authorization.k8s.io/v1
...
- apiGroups: [piGroups: [""]

Expected Behavior

Output should render cleanly with no corruption, doubled characters, or repeated lines.

Environment

  • Copilot CLI version: 1.0.61
  • OS: Darwin (macOS)

Notes

The underlying content being generated is correct — the issue is purely in how the CLI streams and renders tokens to the terminal.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:terminal-renderingDisplay and rendering: flickering, scrolling, line wrapping, output formatting

    Type

    No fields configured for Bug.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions