TUI composer cursor should visibly blink while editing

Open 💬 3 comments Opened May 22, 2026 by 60ke

Problem

When the TUI composer has input focus, the insertion point can be hard to spot because normal editing currently relies on the terminal default cursor shape. In terminals where that default is steady or visually subtle, users may not immediately know where typed text will land.

This is especially noticeable in the bottom composer because most of the UI is static while the user is deciding what to type next. A visible blinking edit cursor would make the active insertion point easier to find.

Desired behavior

When the composer is actively editable, show an explicit blinking edit cursor. Vim normal mode should remain visually distinct from insert/editing mode.

This should be considered alongside existing cursor-style issues such as #21666 and #21828 so the fix does not make embedded terminal cursor reset/flicker behavior worse.

Reference implementation

I prepared a small reference branch on my fork:

https://github.com/60ke/codex/tree/codex/blinking-composer-cursor

Current local approach:

  • Use SetCursorStyle::BlinkingBar for composer editing, including the default keymap and Vim insert mode.
  • Keep Vim normal mode on DefaultUserShape so it remains visually distinct.
  • Update the existing composer cursor-style test.

I am opening this issue first because docs/contributing.md says external code contributions are by invitation only. If the Codex team agrees with the direction, I can submit the prepared branch as a PR.

Validation on the reference branch

  • just fmt
  • cargo test -p codex-tui insert_input_uses_blinking_bar_cursor_style
  • just fix -p codex-tui

I also attempted cargo test -p codex-tui; it compiled successfully but aborted in unrelated app::tests::discard_side_thread_keeps_local_state_when_server_close_fails with a stack overflow.

View original on GitHub ↗

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