github / github/copilot-cli

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

Đang mở
#3,110 1 bình luận 0 reaction 0 người được giao Xem trên GitHub
area:terminal-rendering
Ngôn ngữ chính
Shell
Star
11.2k
Fork
1.9k
Merge trung bình
14 giờ 16 phút
Pull request đã merge (30 ngày)
6

Mô tả

## 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

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.