Skip to content

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

@dispositives

Description

@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:

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    TUIIssues related to the terminal user interface: text input, menus and dialogs, and terminal displaybugSomething isn't workingplanIssues involving plan mode

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions