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
💡 Likely answer: A maintainer (github-actions[bot], contributor) responded on this thread — see the highlighted reply below.

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 ↗

2 Comments

github-actions[bot] contributor · 6 months ago

Potential duplicates detected. Please review them and close your issue if it is a duplicate.

  • #9308
  • #9115

Powered by Codex Action

alphaben-ch · 3 months ago

Adding a version isolation datapoint for this Zellij scrolling regression:

Codex CLI Zellij Scrolling Regression

Summary

Codex CLI mouse-wheel scrolling is broken inside Zellij panes in versions after 0.130.0.

Other Zellij panes scroll normally, and Zellij scrollback itself works. The issue appears specific to Codex's TUI behavior.

Environment

  • Zellij: 0.43.1
  • Terminal: TERM=xterm-256color
  • Session type: SSH
  • Install method: npm install -g @openai/codex
  • Shell: Bash
  • Host path: /opt/alphabench

Relevant environment observed:

ZELLIJ=0
ZELLIJ_SESSION_NAME=exquisite-donkey
TERM=xterm-256color
SSH_TTY=/dev/pts/6

Reproduction

  1. Start Zellij.
  2. Start Codex inside a Zellij pane.
  3. Produce enough Codex TUI output to require scrolling.
  4. Try to scroll with the mouse wheel.

Expected: mouse-wheel scrolling works as it does in other Zellij panes.

Actual: Codex pane does not scroll to earlier TUI output.

Version Isolation

Tested with clean Codex restarts after each install:

@openai/codex@0.130.0  works
@openai/codex@0.133.0  broken
@openai/codex@0.134.0  broken

This suggests the regression was introduced after 0.130.0 and is present by 0.133.0.

Attempted Config Workarounds

The following Codex config options did not fix the issue:

[tui]
alternate_screen = "never"
raw_output_mode = true

They were removed after testing.

Current Workaround

Pin Codex CLI to 0.130.0:

npm install -g @openai/codex@0.130.0

Then restart the Codex pane.