Persist update_plan task list in TUI after assistant response while waiting for user input

Open 💬 2 comments Opened Apr 22, 2026 by dispositives

What version of Codex CLI is running?

codex-cli 0.122.0

What subscription do you have?

ChatGPT plan-backed Codex session

Which model were you using?

gpt-5.4

What platform is your computer?

macOS 26.4.1

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

iTerm.app

What issue are you seeing?

The native task list emitted by update_plan is not persistently rendered in the CLI TUI after the assistant sends its response and the session is waiting on the user.

Concretely:

  • the task list appears when update_plan is invoked
  • after the assistant responds, the list can disappear while the session is idle and waiting for user input
  • this makes the task list unusable as a continuously visible operational checklist

This feels like a lifecycle/rendering gap rather than a state gap: the plan state exists, but the renderer is not kept mounted.

What steps can reproduce the bug?

  1. Start a Codex CLI session.
  2. Invoke the native plan/task list via update_plan with multiple items.
  3. Leave one item in_progress so the task list remains active.
  4. Let the assistant send a normal response.
  5. Observe the TUI while the session is waiting for the next user turn.

What is the expected behavior?

If a plan/task list exists, it should remain visible in the TUI while the session is idle and waiting for user input, until one of these happens:

  • the plan is explicitly cleared
  • all items are completed and the user dismisses it
  • the user hides it via an explicit UI control

A weaker but still useful alternative would be an explicit persistence control, for example:

  • a config flag to keep the task list pinned
  • a slash command to show/hide the current task list
  • a statusline or sidebar mode that keeps the current checklist visible across turns

Additional information

Relevant existing issues appear adjacent but not identical:

  • #13932 Preserve Plan (about compaction preserving accepted plans)
  • #16765 TUI wording: use task-list labels instead of "Updated Plan" for update_plan
  • #18488 Retain status line when in plan mode

This request is specifically about keeping the update_plan task list visibly rendered after the assistant has responded and the user turn is pending.

View original on GitHub ↗

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