Gabriel Peal
817d1508bc
[MCP] Redact environment variable values in /mcp and mcp get ( #5648 )
...
Fixes #5524
2025-10-24 18:30:20 -04:00
Josh McKinney
e258f0f044
Use Option symbol for mac key hints ( #5582 )
...
## Summary
- show the Option (⌥) symbol in key hints when the TUI is built for
macOS so the shortcut text matches the platform terminology
## Testing
- cargo test -p codex-tui
------
https://chatgpt.com/codex/tasks/task_i_68fab7505530832992780a9e13fb707b
2025-10-23 20:04:15 -07:00
dedrisian-oai
272e13dd90
feat: Auto update approval ( #5185 )
...
Adds an update prompt when the CLI starts:
<img width="1410" height="608" alt="Screenshot 2025-10-14 at 5 53 17 PM"
src="https://github.com/user-attachments/assets/47c8bafa-7bed-4be8-b597-c4c6c79756b8 "
/>
2025-10-15 16:11:20 -07:00
Jeremy Rose
9be704a934
tui: reserve 1 cell right margin for composer and user history ( #5026 )
...
keep a 1 cell margin at the right edge of the screen in the composer
(and in the user message in history).
this lets us print clear-to-EOL 1 char before the end of the line in
history, so that resizing the terminal will keep the background color
(at least in iterm/terminal.app). it also stops the cursor in the
textarea from floating off the right edge.
---------
Co-authored-by: joshka-oai <joshka@openai.com >
2025-10-14 18:02:11 +00:00
Jeremy Rose
56296cad82
tui: /diff mode wraps long lines ( #4891 )
...
fixes a regression that stopped long lines from being wrapped when
viewing `/diff`.
2025-10-09 14:01:45 -07:00
Jeremy Rose
75176dae70
dynamic width for line numbers in diffs ( #4664 )
...
instead of always reserving 6 spaces for the line number and gutter, we
now dynamically adjust to the width of the longest number.
<img width="871" height="616" alt="Screenshot 2025-10-03 at 8 21 00 AM"
src="https://github.com/user-attachments/assets/5f18eae6-7c85-48fc-9a41-31978ae71a62 "
/>
<img width="871" height="616" alt="Screenshot 2025-10-03 at 8 21 21 AM"
src="https://github.com/user-attachments/assets/9009297d-7690-42b9-ae42-9566b3fea86c "
/>
<img width="871" height="616" alt="Screenshot 2025-10-03 at 8 21 57 AM"
src="https://github.com/user-attachments/assets/669096fd-dddc-407e-bae8-d0c6626fa0bc "
/>
2025-10-07 11:32:07 -07:00
Ed Bayes
d3e1beb26c
add pulsing dot loading state ( #4736 )
...
## Description
Changes default CLI spinner to pulsing dot
https://github.com/user-attachments/assets/b81225d6-6655-4ead-8cb1-d6568a603d5b
## Tests
Passes CI
---------
Co-authored-by: Fouad Matin <fouad@openai.com >
2025-10-05 21:26:27 -07:00
Jeremy Rose
9617b69c8a
tui: • Working, 100% context dim ( #4629 )
...
- add a `•` before the "Working" shimmer
- make the percentage in "X% context left" dim instead of bold
<img width="751" height="480" alt="Screenshot 2025-10-02 at 2 29 57 PM"
src="https://github.com/user-attachments/assets/cf3e771f-ddb3-48f4-babe-1eaf1f0c2959 "
/>
2025-10-03 01:17:34 +00:00
Jeremy Rose
ec98445abf
normalize key hints ( #4586 )
...
render key hints the same everywhere.
| Before | After |
|--------|-------|
| <img width="816" height="172" alt="Screenshot 2025-10-01 at 5 15 42
PM"
src="https://github.com/user-attachments/assets/f88d5db4-04bb-4e89-b571-568222c41e4b "
/> | <img width="672" height="137" alt="Screenshot 2025-10-01 at 5 13 56
PM"
src="https://github.com/user-attachments/assets/1fee6a71-f313-4620-8d9a-10766dc4e195 "
/> |
| <img width="816" height="172" alt="Screenshot 2025-10-01 at 5 17 01
PM"
src="https://github.com/user-attachments/assets/5170ab35-88b7-4131-b485-ecebea9f0835 "
/> | <img width="816" height="174" alt="Screenshot 2025-10-01 at 5 14 24
PM"
src="https://github.com/user-attachments/assets/6b6bc64c-25b9-4824-b2d7-56f60370870a "
/> |
| <img width="816" height="172" alt="Screenshot 2025-10-01 at 5 17 29
PM"
src="https://github.com/user-attachments/assets/2313b36a-e0a8-4cd2-82be-7d0fe7793c19 "
/> | <img width="816" height="134" alt="Screenshot 2025-10-01 at 5 14 37
PM"
src="https://github.com/user-attachments/assets/e18934e8-8e9d-4f46-9809-39c8cb6ee893 "
/> |
| <img width="816" height="172" alt="Screenshot 2025-10-01 at 5 17 40
PM"
src="https://github.com/user-attachments/assets/0cc69e4e-8cce-420a-b3e4-be75a7e2c8f5 "
/> | <img width="816" height="134" alt="Screenshot 2025-10-01 at 5 14 56
PM"
src="https://github.com/user-attachments/assets/329a5121-ae4a-4829-86e5-4c813543770c "
/> |
2025-10-02 18:34:47 +00:00
Jeremy Rose
07c1db351a
rework patch/exec approval UI ( #4573 )
...
| Scenario | Screenshot |
| ---------------------- |
----------------------------------------------------------------------------------------------------------------------------------------------------
|
| short patch | <img width="1096" height="533" alt="short patch"
src="https://github.com/user-attachments/assets/8a883429-0965-4c0b-9002-217b3759b557 "
/> |
| short command | <img width="1096" height="533" alt="short command"
src="https://github.com/user-attachments/assets/901abde8-2494-4e86-b98a-7cabaf87ca9c "
/> |
| long patch | <img width="1129" height="892" alt="long patch"
src="https://github.com/user-attachments/assets/fa799a29-a0d6-48e6-b2ef-10302a7916d3 "
/> |
| long command | <img width="1096" height="892" alt="long command"
src="https://github.com/user-attachments/assets/11ddf79b-98cb-4b60-ac22-49dfa7779343 "
/> |
| viewing complete patch | <img width="1129" height="892" alt="viewing
complete patch"
src="https://github.com/user-attachments/assets/81666958-af94-420e-aa66-b60d0a42b9db "
/> |
2025-10-01 14:29:05 -07:00
Ahmed Ibrahim
751b3b50ac
Show placeholder for commands with no output ( #4509 )
...
## Summary
- show a dim “(no output)” placeholder when an executed command produces
no stdout or stderr so empty runs are visible
- update TUI snapshots to include the new placeholder in history
renderings
## Testing
- cargo test -p codex-tui
------
https://chatgpt.com/codex/tasks/task_i_68dc056c1d5883218fe8d9929e9b1657
2025-10-01 10:42:30 -07:00
Ahmed Ibrahim
d78d0764aa
Add Updated at time in resume picker ( #4468 )
...
<img width="639" height="281" alt="image"
src="https://github.com/user-attachments/assets/92b2ad2b-9e18-4485-9b8d-d7056eb98651 "
/>
2025-10-01 10:40:43 -07:00
Jeremy Rose
43b63ccae8
update composer + user message styling ( #4240 )
...
Changes:
- the composer and user messages now have a colored background that
stretches the entire width of the terminal.
- the prompt character was changed from a cyan `▌` to a bold `›`.
- the "working" shimmer now follows the "dark gray" color of the
terminal, better matching the terminal's color scheme
| Terminal + Background | Screenshot |
|------------------------------|------------|
| iTerm with dark bg | <img width="810" height="641" alt="Screenshot
2025-09-25 at 11 44 52 AM"
src="https://github.com/user-attachments/assets/1317e579-64a9-4785-93e6-98b0258f5d92 "
/> |
| iTerm with light bg | <img width="845" height="540" alt="Screenshot
2025-09-25 at 11 46 29 AM"
src="https://github.com/user-attachments/assets/e671d490-c747-4460-af0b-3f8d7f7a6b8e "
/> |
| iTerm with color bg | <img width="825" height="564" alt="Screenshot
2025-09-25 at 11 47 12 AM"
src="https://github.com/user-attachments/assets/141cda1b-1164-41d5-87da-3be11e6a3063 "
/> |
| Terminal.app with dark bg | <img width="577" height="367"
alt="Screenshot 2025-09-25 at 11 45 22 AM"
src="https://github.com/user-attachments/assets/93fc4781-99f7-4ee7-9c8e-3db3cd854fe5 "
/> |
| Terminal.app with light bg | <img width="577" height="367"
alt="Screenshot 2025-09-25 at 11 46 04 AM"
src="https://github.com/user-attachments/assets/19bf6a3c-91e0-447b-9667-b8033f512219 "
/> |
| Terminal.app with color bg | <img width="577" height="367"
alt="Screenshot 2025-09-25 at 11 45 50 AM"
src="https://github.com/user-attachments/assets/dd7c4b5b-342e-4028-8140-f4e65752bd0b "
/> |
2025-09-26 16:35:56 -07:00
Ahmed Ibrahim
1fba99ed85
/status followup ( #4304 )
...
- Render `send a message to load usage data` in the beginning of the
session
- Render `data not available yet` if received no rate limits
- nit case
- Deleted stall snapshots that were moved to
`codex-rs/tui/src/status/snapshots`
2025-09-26 18:16:54 +00:00
Ahmed Ibrahim
a53720e278
Show exec output on success with trimmed display ( #4113 )
...
- Refactor Exec Cell into its own module
- update exec command rendering to inline the first command line
- limit continuation lines
- always show trimmed output
2025-09-26 07:13:44 -07:00
Ahmed Ibrahim
e363dac249
revamp /status ( #4196 )
...
<img width="543" height="520" alt="image"
src="https://github.com/user-attachments/assets/bbc0eec0-e40b-45e7-bcd0-a997f8eeffa2 "
/>
2025-09-25 15:38:50 +00:00
Jeremy Rose
6032d784ee
improve MCP tool call styling ( #3871 )
...
<img width="760" height="213" alt="Screenshot 2025-09-18 at 12 29 15 PM"
src="https://github.com/user-attachments/assets/48a205b7-b95a-4988-8c76-efceb998dee7 "
/>
2025-09-24 13:36:01 -07:00
Jeremy Rose
f54a49157b
Fix pager overlay clear between pages ( #3952 )
...
should fix characters sometimes hanging around while scrolling the
transcript.
2025-09-22 15:12:29 -07:00
Jeremy Rose
b34e906396
Reland "refactor transcript view to handle HistoryCells" ( #3753 )
...
Reland of #3538
2025-09-18 20:55:53 +00:00
Ahmed Ibrahim
26f1246a89
Revert "refactor transcript view to handle HistoryCells" ( #3614 )
...
Reverts openai/codex#3538
It panics on forking first message. It also calculates the index in a
wrong way.
2025-09-15 03:39:36 +00:00
Ahmed Ibrahim
7e1543f5d8
Align user history message prefix width ( #3467 )
...
<img width="798" height="340" alt="image"
src="https://github.com/user-attachments/assets/fdd63f40-9c94-4e3a-bce5-2d2f333a384f "
/>
2025-09-14 20:51:08 +00:00
Ahmed Ibrahim
e932722292
Add spacing before queued status indicator messages ( #3474 )
...
<img width="687" height="174" alt="image"
src="https://github.com/user-attachments/assets/e68f5a29-cb2d-4aa6-9cbd-f492878d8d0a "
/>
2025-09-14 15:37:28 -04:00
Jeremy Rose
4891ee29c5
refactor transcript view to handle HistoryCells ( #3538 )
...
No (intended) functional change.
This refactors the transcript view to hold a list of HistoryCells
instead of a list of Lines. This simplifies and makes much of the logic
more robust, as well as laying the groundwork for future changes, e.g.
live-updating history cells in the transcript.
Similar to #2879 in goal. Fixes #2755 .
2025-09-13 19:23:14 -07:00
Jeremy Rose
8068cc75f8
replace tui_markdown with a custom markdown renderer ( #3396 )
...
Also, simplify the streaming behavior.
This fixes a number of display issues with streaming markdown, and paves
the way for better markdown features (e.g. customizable styles, syntax
highlighting, markdown-aware wrapping).
Not currently supported:
- footnotes
- tables
- reference-style links
2025-09-10 12:13:53 -07:00
Jeremy Rose
d6182becbe
syntax-highlight bash lines ( #3142 )
...
i'm not yet convinced i have the best heuristics for what to highlight,
but this feels like a useful step towards something a bit easier to
read, esp. when the model is producing large commands.
<img width="669" height="589" alt="Screenshot 2025-09-03 at 8 21 56 PM"
src="https://github.com/user-attachments/assets/b9cbcc43-80e8-4d41-93c8-daa74b84b331 "
/>
also a fairly significant refactor of our line wrapping logic.
2025-09-05 14:10:32 +00:00
Jeremy Rose
075e385969
Use ⌥⇧⌃ glyphs for key hints on mac ( #3143 )
...
#### Summary
- render the edit queued message shortcut with the ⌥ modifier on macOS
builds
- add a helper for status indicator snapshot suffixes
- record macOS-specific snapshots for the status indicator widget
2025-09-04 10:55:50 -07:00
Jeremy Rose
e442ecedab
rework message styling ( #2877 )
...
https://github.com/user-attachments/assets/cf07f62b-1895-44bb-b9c3-7a12032eb371
2025-09-02 17:29:58 +00:00
Jeremy Rose
435154ce93
fix transcript lines being added to diff view ( #2721 )
...
This fixes a bug where if you ran /diff while at turn was running,
transcript lines would be added to the end of the diff view. Also,
refactor to make this kind of issue less likely in future.
2025-08-27 00:03:11 +00:00
Jeremy Rose
251c4c2ba9
tui: queue messages ( #2637 )
...
https://github.com/user-attachments/assets/44349aa6-3b97-4029-99e1-5484e9a8775f
2025-08-25 21:38:38 +00:00
Jeremy Rose
9604671678
tui: show diff hunk headers to separate sections ( #2488 )
...
<img width="906" height="350" alt="Screenshot 2025-08-20 at 2 38 29 PM"
src="https://github.com/user-attachments/assets/272c43c2-dfa8-497f-afa0-cea31e26ca1f "
/>
2025-08-21 08:54:11 -07:00
Ahmed Ibrahim
0d6678936f
fix apply patch when only one file is rendered ( #2468 )
...
<img width="809" height="87" alt="image"
src="https://github.com/user-attachments/assets/6fe69643-10d7-4420-bbf2-e30c092b800f "
/>
2025-08-19 23:49:08 +00:00
Jeremy Rose
45d6c74682
tui: align diff display by always showing sign char and keeping fixed gutter ( #2353 )
...
diff lines without a sign char were misaligned.
2025-08-15 09:32:45 -07:00
Jeremy Rose
bb9ce3cb78
tui: standardize tree prefix glyphs to └ ( #2274 )
...
Replace mixed `⎿` and `L` prefixes with `└` in TUI rendering.
<img width="454" height="659" alt="Screenshot 2025-08-13 at 4 02 03 PM"
src="https://github.com/user-attachments/assets/61c9c7da-830b-4040-bb79-a91be90870ca "
/>
2025-08-13 19:14:03 -04:00
aibrahim-oai
336952ae2e
TUI: Show apply patch diff. Stack: [2/2] ( #2050 )
...
Show the diff for apply patch
<img width="801" height="345" alt="image"
src="https://github.com/user-attachments/assets/a15d6112-e83e-4612-a2bd-43285689a358 "
/>
Stack:
-> #2050
#2049
2025-08-11 18:32:59 -07:00