Skip to content

[BUG]: Terminal output overwrites lines in place instead of appending to scrollback #3110

@Richard-Marlow

Description

@Richard-Marlow

Description

The CLI renders output using cursor-movement/overwrite sequences that rewrite lines in place on the normal screen buffer, rather than printing linearly. As a result, no output from the current session ever enters the terminal scrollback buffer — it is simply overwritten and lost.

This affects all output: responses, tables, code blocks, and reasoning/thinking text. The only content visible when scrolling up is content from before the current CLI session started.

Steps to Reproduce

  1. Open a terminal with unlimited scrollback (e.g. iTerm2 with "Save lines to scrollback in alternate screen mode" enabled)
  2. Start a Copilot CLI session
  3. Ask Copilot to output something long — e.g. a 40-row table
  4. Only the portion visible on screen at render time is visible; nothing appears in scrollback
  5. Run /clear and scroll up — only pre-session content is visible; the entire current session is gone

Expected Behavior

Output should be printed linearly so that it accumulates in the terminal scrollback buffer like any standard CLI tool (e.g. git log, curl, etc.).

Actual Behavior

Output is rendered using in-place cursor movement sequences. Nothing from the current session appears in the scrollback buffer, regardless of scrollback size or terminal settings.

Impact

  • Long responses or tables are truncated to whatever fits on screen — the rest is permanently lost
  • There is no way to review earlier turns in the current session by scrolling up
  • /clear provides no benefit since the current session was never in scrollback to begin with
  • Workarounds like iTerm2's alternate screen scrollback setting have no effect

Environment

  • CLI version: 1.0.40
  • OS: macOS (Darwin)
  • Terminal: iTerm2 with unlimited scrollback and alternate screen scrollback enabled
  • Shell: zsh

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