Zellij scrollback still broken with --no-alt-screen (full-screen redraw in main buffer)

Resolved 💬 2 comments Opened Feb 1, 2026 by DamianPala Closed Feb 1, 2026

What version of Codex is running?

0.93.0

What subscription do you have?

Plus

Which model were you using?

_No response_

What platform is your computer?

Linux 6.2.0-35-generic x86_64 x86_64

What terminal emulator and version are you using (if applicable)?

Ghostty

What issue are you seeing?

Scrollback in Zellij still does not work even when alternate screen is disabled (--no-alt-screen / tui.alternate_screen="never"). This looks like a different root cause than #2558: Codex keeps doing full-screen redraws in the main buffer (cursor addressing, clears, scroll regions), so Zellij does not accumulate scrollback lines.

Versions

  • codex-cli: 0.93.0
  • zellij: 0.43.1
  • OS: Linux
  • TERM: xterm-256color

Environment notes

  • ZELLIJ is 0 by default in my session; I also tested with ZELLIJ=1 explicitly and behavior did not change.

What steps can reproduce the bug?

  1. Start Zellij.
  2. Run: codex --no-alt-screen

(also tested codex -c 'tui.alternate_screen="never"' --no-alt-screen)

  1. Generate enough output to exceed pane height.
  2. Enter Zellij scroll/copy mode and try to scroll back.

What is the expected behavior?

Expected

Zellij pane scrollback should show earlier Codex output when alternate screen is disabled.

Actual

Only the current screen is visible; scrollback remains empty / truncated.

Additional information

Diagnostics

I captured terminal output with:

script -q -c "codex --no-alt-screen" /tmp/codex.tlog

Findings:

  • No alt-screen sequences (CSI ?1049h/?1047h/?47h not present)
  • No scrollback clear (CSI 3 J) and no terminal reset (ESC c)
  • Full-screen redraw patterns present (cursor addressing CSI row;col H, CSI J, CSI K, scroll regions CSI r, reverse index ESC M)
  • Synchronized output toggles (CSI ?2026 h/l) are present

This suggests --no-alt-screen keeps the full-screen TUI renderer, but just in the main buffer. Zellij doesn’t build scrollback from in-place redraws, so
there is still nothing to scroll.

Related

  • #2558 (closed via #8555) — alt-screen fix, but this issue persists.
  • Changelog entry mentions the alt-screen fix (#8555), which appears to be working, but scrollback is still broken due to redraw behavior.

Possible direction

Add a true “inline / line-based output” mode (no cursor addressing / screen clears / scroll regions), or a config option that switches to a non-fullscreen renderer in Zellij.

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗