Skip to content

TUI: cursor jank during streaming/scroll + occasional bottom-pane drift #11063

Open

Description

@anujsaharan

What version of Codex CLI is running?

codex-cli 0.99.0-alpha.9

What subscription do you have?

Pro

Which model were you using?

gpt-5.2-codex

What platform is your computer?

Linux 6.17.0-12-generic x86_64

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

Gnome Terminal

What issue are you seeing?

While the output is streaming, the terminal cursor visibly jumps/blinks during scroll updates, and bottom-pane anchoring looks unstable under heavy text output streams.

Proposed fix

  • Hide the terminal cursor while writing wrapped output into scrollback.
  • Split flex allocation behavior:
    • FitContent for desired_height()
    • FillAssignedExtent for render() / cursor_pos()

What steps can reproduce the bug?

  1. Send a long streaming prompt (e.g. "write a 50 stanza poem").
  2. Watch cursor + bottom pane as output scrolls.

What is the expected behavior?

Expected
Cursor stays visually stable and composer/footer remain anchored.

Actual
Visible cursor jank during streaming/scroll and occasional anchoring instability.

Activity

  1. added
    CLIIssues related to the Codex CLI
    TUIIssues related to the terminal user interface: text input, menus and dialogs, and terminal display
    on Feb 8, 2026
  2. anujsaharan commented on Feb 8, 2026

    @anujsaharan
    Author

    opened a PR here if helpful: #11064

  3. oxysoft commented on Mar 9, 2026

    @oxysoft

    Related feature request: #14045\n\nThis bug is about anchoring instability/jank, while #14045 is the deliberate UX behavior request: keep the composer inline at the bottom of the chat normally, but make it sticky to the viewport bottom when the user scrolls upward through history.

  4. Jurio0304 commented on Jun 10, 2026

    @Jurio0304

    I ran into the same issue during long terminal sessions, especially when using Codex over SSH and inside tmux.

    I implemented a lightweight community fork called Codex Sticky that adds this sticky-on-scroll composer behavior:

    https://github.com/Jurio0304/codex-sticky

    When scrolling back through older transcript content, the composer remains reachable at the bottom of the terminal. The fork is installed side by side as codex-sticky, so it does not overwrite the official codex command.

    It is currently intended as a small, unofficial workaround for Linux x86_64 users while keeping the experience close to upstream. Feedback is very welcome.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    TUIIssues related to the terminal user interface: text input, menus and dialogs, and terminal displaybugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions