core-agent-ide/codex-rs/tui/src
Charley Cunningham 4c1744afb2
Improve Plan mode reasoning selection flow (#12303)
Addresses https://github.com/openai/codex/issues/11013

## Summary
- add a Plan implementation path in the TUI that lets users choose
reasoning before switching to Default mode and implementing
- add Plan-mode reasoning scope handling (Plan-only override vs
all-modes default), including config/schema/docs plumbing for
`plan_mode_reasoning_effort`
- remove the hardcoded Plan preset medium default and make the reasoning
popup reflect the active Plan override as `(current)`
- split the collaboration-mode switch notification UI hint into #12307
to keep this diff focused

If I have `plan_mode_reasoning_effort = "medium"` set in my
`config.toml`:
<img width="699" height="127" alt="Screenshot 2026-02-20 at 6 59 37 PM"
src="https://github.com/user-attachments/assets/b33abf04-6b7a-49ed-b2e9-d24b99795369"
/>

If I don't have `plan_mode_reasoning_effort` set in my `config.toml`:
<img width="704" height="129" alt="Screenshot 2026-02-20 at 7 01 51 PM"
src="https://github.com/user-attachments/assets/88a086d4-d2f1-49c7-8be4-f6f0c0fa1b8d"
/>

## Codex author
`codex resume 019c78a2-726b-7fe3-adac-3fa4523dcc2a`
2026-02-20 20:08:56 -08:00
..
bin replace tui_markdown with a custom markdown renderer (#3396) 2025-09-10 12:13:53 -07:00
bottom_pane fix(tui): queued-message edit shortcut unreachable in some terminals (#12240) 2026-02-20 16:56:41 -08:00
chatwidget Improve Plan mode reasoning selection flow (#12303) 2026-02-20 20:08:56 -08:00
exec_cell feat: split codex-common into smaller utils crates (#11422) 2026-02-11 12:59:24 +00:00
notifications Added tui.notifications_method config option (#10043) 2026-01-28 12:00:32 -08:00
onboarding Promote Windows Sandbox (#11341) 2026-02-11 11:48:33 -08:00
public_widgets Persist text elements through TUI input and history (#9393) 2026-01-19 23:49:34 -08:00
render chore: upgrade to Rust 1.92.0 (#8860) 2026-01-16 11:12:52 -08:00
snapshots feat: better agent picker in TUI (#12332) 2026-02-20 15:40:34 +00:00
status feat: introduce Permissions (#11633) 2026-02-12 14:42:54 -08:00
streaming feat(tui): pace catch-up stream chunking with hysteresis (#10461) 2026-02-03 15:01:51 -08:00
tui feat(tui): pace catch-up stream chunking with hysteresis (#10461) 2026-02-03 15:01:51 -08:00
additional_dirs.rs feat: make sandbox read access configurable with ReadOnlyAccess (#11387) 2026-02-11 18:31:14 -08:00
app.rs Improve Plan mode reasoning selection flow (#12303) 2026-02-20 20:08:56 -08:00
app_backtrack.rs tui: preserve remote image attachments across resume/backtrack (#10590) 2026-02-13 14:54:06 -08:00
app_event.rs Improve Plan mode reasoning selection flow (#12303) 2026-02-20 20:08:56 -08:00
app_event_sender.rs tui: switch to using tokio + EventStream for processing crossterm events (#2489) 2025-08-20 17:11:09 +00:00
ascii_animation.rs chore: remove model upgrade popup (#4332) 2025-09-27 13:25:09 -07:00
chatwidget.rs Improve Plan mode reasoning selection flow (#12303) 2026-02-20 20:08:56 -08:00
cli.rs feat: split codex-common into smaller utils crates (#11422) 2026-02-11 12:59:24 +00:00
clipboard_paste.rs Fixed TUI regression related to image paste in WSL (#9473) 2026-01-18 23:02:02 -08:00
collaboration_modes.rs Sync collaboration mode naming across Default prompt, tools, and TUI (#10666) 2026-02-04 23:03:28 -08:00
color.rs update composer + user message styling (#4240) 2025-09-26 16:35:56 -07:00
custom_terminal.rs Teach codex to test itself (#11531) 2026-02-11 20:03:19 -08:00
cwd_prompt.rs tui: exit session on Ctrl+C in cwd change prompt (#12040) 2026-02-17 14:48:12 -08:00
debug_config.rs fix(network-proxy): add unix socket allow-all and update seatbelt rules (#11368) 2026-02-20 10:56:57 -08:00
diff_render.rs feat(tui): add /statusline command for interactive status line configuration (#10546) 2026-02-05 08:50:21 -08:00
exec_command.rs fix(windows) shell_command on windows, minor parsing (#6811) 2025-11-17 22:23:53 -08:00
external_editor.rs feat: open prompt in configured external editor (#7606) 2025-12-22 15:12:23 -08:00
file_search.rs app-server: add fuzzy search sessions for streaming file search (#10268) 2026-02-12 10:49:44 -08:00
frames.rs Login flow polish (#3632) 2025-09-15 00:42:53 -07:00
get_git_diff.rs Show progress indicator for /diff command (#2245) 2025-08-15 15:32:41 -07:00
history_cell.rs tui: preserve remote image attachments across resume/backtrack (#10590) 2026-02-13 14:54:06 -08:00
insert_history.rs fix(tui): propagate errors in insert_history_lines_to_writer (#4266) 2025-10-30 18:07:51 -07:00
key_hint.rs Add vim navigation keys to transcript pager (#7550) 2025-12-09 10:23:11 -08:00
lib.rs tui: exit session on Ctrl+C in cwd change prompt (#12040) 2026-02-17 14:48:12 -08:00
live_wrap.rs Stream model responses (#1810) 2025-08-05 04:23:22 +00:00
main.rs feat: split codex-common into smaller utils crates (#11422) 2026-02-11 12:59:24 +00:00
markdown.rs tui: drop citation rendering (#4855) 2025-10-20 21:08:19 +00:00
markdown_render.rs Changed default wrap algorithm from OptimalFit to FirstFit (#7960) 2025-12-12 21:47:37 -08:00
markdown_render_tests.rs tui: centralize markdown styling and make inline code cyan (#7023) 2025-11-20 21:06:22 +00:00
markdown_stream.rs tui: drop citation rendering (#4855) 2025-10-20 21:08:19 +00:00
mention_codec.rs TUI/Core: preserve duplicate skill/app mention selection across submit + resume (#10855) 2026-02-06 15:59:00 -08:00
model_migration.rs Use markdown for migration screen (#8952) 2026-01-13 07:41:42 +00:00
multi_agents.rs feat: cleaner TUI for sub-agents (#12327) 2026-02-20 15:26:33 +00:00
oss_selection.rs chore: nuke chat/completions API (#10157) 2026-02-03 11:31:57 +00:00
pager_overlay.rs tui: queue non-pending rollback trims in app-event order (#11373) 2026-02-10 18:53:43 -08:00
resume_picker.rs feat: add nick name to sub-agents (#12320) 2026-02-20 14:39:49 +00:00
selection_list.rs splash screen (#8270) 2025-12-18 10:59:53 -08:00
session_log.rs tui: bring the transcript closer to display mode (#4848) 2025-10-07 16:18:48 -07:00
shimmer.rs tui: hardcode xterm palette, shimmer blends between fg and bg (#4957) 2025-10-08 20:23:13 +00:00
skills_helpers.rs feat: split codex-common into smaller utils crates (#11422) 2026-02-11 12:59:24 +00:00
slash_command.rs add a slash command to grant sandbox read access to inaccessible directories (#11512) 2026-02-12 12:48:36 -08:00
status_indicator_widget.rs Fixed screen reader regression in CLI (#11860) 2026-02-16 18:17:52 -08:00
style.rs Make plan highlight use popup grey background (#10253) 2026-01-30 12:39:15 -08:00
terminal_palette.rs perf(tui2): cache transcript view rendering (#8693) 2026-01-03 11:44:27 -08:00
test_backend.rs feat: Constrain values for approval_policy (#7778) 2025-12-17 16:19:27 +00:00
text_formatting.rs feat(tui): add /statusline command for interactive status line configuration (#10546) 2026-02-05 08:50:21 -08:00
tooltips.rs Point Codex App tooltip links to app landing page (#11515) 2026-02-12 23:35:57 -08:00
tui.rs fix(tui): flush input buffer on init to prevent early exit on Windows (#10729) 2026-02-05 00:59:32 -08:00
ui_consts.rs Fixes (#4458) 2025-09-30 00:10:04 +00:00
update_action.rs fix: use brew upgrade --cask codex to avoid warnings and ambiguity (#9823) 2026-01-26 16:21:09 -08:00
update_prompt.rs fix: update brew auto update version check (#6238) 2025-11-10 09:05:00 -08:00
updates.rs updates: use brew api for version check (#10809) 2026-02-05 15:12:27 -08:00
version.rs Added CLI version to /status output (#3223) 2025-09-05 16:27:31 -07:00
wrapping.rs Changed default wrap algorithm from OptimalFit to FirstFit (#7960) 2025-12-12 21:47:37 -08:00