TUI: plan implementation prompt does not set `Action Required` in the terminal title

Open 💬 0 comments Opened Jul 30, 2026 by aofei

What version of Codex CLI is running?

0.146.0

What subscription do you have?

ChatGPT Pro 20x

Which model were you using?

gpt-5.6-sol

What platform is your computer?

Darwin 25.5.0 arm64 arm

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

Ghostty 1.3.2-main-+ae8727401, tmux 3.7b

Codex doctor report

What issue are you seeing?

When Codex finishes preparing a plan and displays the final "Implement this plan?" selection, the TUI is waiting for user input, but the terminal title does not enter the persistent "Action Required" state.

Other interactive states, including approval requests and questions displayed through request_user_input, keep the terminal title in the animated "Action Required" state until the user resolves them.

The final plan implementation prompt emits the plan-mode-prompt notification, but that notification is transient. After the terminal or terminal multiplexer acknowledges the notification, there is no persistent terminal-title indication that Codex is still waiting for a decision.

This makes the final plan confirmation behave differently from other unresolved prompts that require user input.

What steps can reproduce the bug?

  1. Start Codex CLI with terminal title notifications enabled. The default activity and project-name configuration is sufficient.
  2. Enter Plan mode.
  3. Ask Codex to prepare a plan.
  4. Wait until Codex displays the final "Implement this plan?" selection.
  5. Switch to another terminal tab, tmux window, or tmux session.
  6. Observe the terminal title for the Codex session.
  7. Compare this behavior with an approval request or a question created through request_user_input.

The approval request and request_user_input question retain the "Action Required" terminal title until resolved. The final plan implementation prompt does not.

What is the expected behavior?

While the final "Implement this plan?" selection is unresolved, the terminal title should use the same persistent "Action Required" state as other prompts that require user input.

With terminal title animation enabled, it should alternate between the configured Action Required frames. The normal activity or project title should be restored only after the user selects an option or dismisses the prompt.

Additional information

This appears to be an inconsistency between two bottom-pane implementations.

RequestUserInputOverlay explicitly reports that its terminal title requires action:

https://github.com/openai/codex/blob/4f6d06d48581cad8cab7987ee3909c7d9bbd3c82/codex-rs/tui/src/bottom_pane/request_user_input/mod.rs#L1439-L1441

The final plan implementation prompt is constructed as a generic list selection view:

https://github.com/openai/codex/blob/4f6d06d48581cad8cab7987ee3909c7d9bbd3c82/codex-rs/tui/src/chatwidget/turn_runtime.rs#L252-L264

Generic bottom-pane views inherit a default terminal_title_requires_action value of false:

https://github.com/openai/codex/blob/4f6d06d48581cad8cab7987ee3909c7d9bbd3c82/codex-rs/tui/src/bottom_pane/bottom_pane_view.rs#L139-L146

A narrowly scoped implementation could let SelectionViewParams opt into the Action Required terminal-title state, defaulting to false, and enable it only for the final plan implementation prompt. This would avoid changing unrelated selection views.

The existing terminal-title feature was introduced to indicate when Codex is waiting for approval, confirmation, or input:

https://github.com/openai/codex/issues/18162
https://github.com/openai/codex/pull/18372

View original on GitHub ↗