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
- Open a terminal with unlimited scrollback (e.g. iTerm2 with "Save lines to scrollback in alternate screen mode" enabled)
- Start a Copilot CLI session
- Ask Copilot to output something long — e.g. a 40-row table
- Only the portion visible on screen at render time is visible; nothing appears in scrollback
- 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
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
/clearand scroll up — only pre-session content is visible; the entire current session is goneExpected 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
/clearprovides no benefit since the current session was never in scrollback to begin withEnvironment