pakrym-oai
da5492694b
Add log upload support ( #5257 )
2025-10-16 21:03:23 -07:00
joshka-oai
18d00e36b9
feat(tui): warn high effort rate use ( #5035 )
...
Highlight that selecting a high reasoning level will hit Plus plan rate
limits faster.
2025-10-15 14:57:05 -07:00
Jeremy Rose
17550fee9e
add ^Y and kill-buffer to textarea ( #5075 )
...
## Summary
- add a kill buffer to the text area and wire Ctrl+Y to yank it
- capture text from Ctrl+W, Ctrl+U, and Ctrl+K operations into the kill
buffer
- add regression coverage ensuring the last kill can be yanked back
Fixes #5017
------
https://chatgpt.com/codex/tasks/task_i_68e95bf06c48832cbf3d2ba8fa2035d2
2025-10-15 14:39:55 -07:00
Jeremy Rose
9b53a306e3
Keep backtrack Esc hint gated on empty composer ( #5076 )
...
## Summary
- only prime backtrack and show the ESC hint when the composer is empty
- keep the composer-side ESC hint unchanged when drafts or attachments
exist and cover it with a regression test
Fixes #5030
------
https://chatgpt.com/codex/tasks/task_i_68e95ba59cd8832caec8e72ae2efeb55
2025-10-15 13:57:50 -07:00
Jeremy Rose
0016346dfb
tui: ^C in prompt area resets history navigation cursor ( #5078 )
...
^C resets the history navigation, similar to zsh/bash.
Fixes #4834
------
https://chatgpt.com/codex/tasks/task_i_68e9674b6ac8832c8212bff6cba75e87
2025-10-15 13:57:44 -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
jif-oai
5346cc422d
feat: discard prompt starting with a slash ( #5048 )
...
This is does not consider lines starting with a space or containing
multiple `/` as commands
<img width="550" height="362" alt="Screenshot 2025-10-13 at 10 00 08"
src="https://github.com/user-attachments/assets/17f7347f-db24-47cb-9845-b0eb6fb139cb "
/>
2025-10-14 09:47:20 +01:00
Jeremy Rose
90af046c5c
tui: include the image name in the textarea placeholder ( #5056 )
...
Fixes #5013
2025-10-10 09:56:18 -07:00
Jeremy Rose
ddcaf3dccd
tui: fix crash when alt+bksp past unicode nbsp ( #5016 )
...
notably, screenshot filenames on macOS by default contain U+202F right
before the "AM/PM" part of the filename.
2025-10-09 15:07:04 -07:00
Jeremy Rose
95b41dd7f1
tui: fix wrapping in trust_directory ( #5007 )
...
Refactor trust_directory to use ColumnRenderable & friends, thus
correcting wrapping behavior at small widths. Also introduce
RowRenderable with fixed-width rows.
- fixed wrapping in trust_directory
- changed selector cursor to match other list item selections
- allow y/n to work as well as 1/2
- fixed key_hint to be standard
before:
<img width="661" height="550" alt="Screenshot 2025-10-09 at 9 50 36 AM"
src="https://github.com/user-attachments/assets/e01627aa-bee4-4e25-8eca-5575c43f05bf "
/>
after:
<img width="661" height="550" alt="Screenshot 2025-10-09 at 9 51 31 AM"
src="https://github.com/user-attachments/assets/cb816cbd-7609-4c83-b62f-b4dba392d79a "
/>
2025-10-09 17:39:45 +00:00
Jeremy Rose
bf82353f45
tui: fix wrapping in user approval decisions ( #5008 )
...
before:
<img width="706" height="71" alt="Screenshot 2025-10-09 at 10 20 57 AM"
src="https://github.com/user-attachments/assets/ff758b77-4e64-4736-b867-7ebf596e4e65 "
/>
after:
<img width="706" height="71" alt="Screenshot 2025-10-09 at 10 20 35 AM"
src="https://github.com/user-attachments/assets/6a44efc0-d9ee-40ce-a709-cce969d6e3b3 "
/>
2025-10-09 10:37:13 -07:00
dedrisian-oai
4300236681
revert /name for now ( #4978 )
...
There was a regression where we'd read entire rollout contents if there
was no /name present.
2025-10-08 17:13:49 -07:00
dedrisian-oai
ec238a2c39
feat: Set chat name ( #4974 )
...
Set chat name with `/name` so they appear in the codex resume page:
https://github.com/user-attachments/assets/c0252bba-3a53-44c7-a740-f4690a3ad405
2025-10-08 16:35:35 -07:00
dedrisian-oai
c89229db97
Make context line permanent ( #4699 )
...
https://github.com/user-attachments/assets/f72c64de-8d6a-45b6-93df-f3a68038067f
2025-10-08 14:32:54 -07:00
jif-oai
876d4f450a
bug: fix CLI UP/ENTER ( #4944 )
...
Clear the history cursor before checking for duplicate submissions so
sending the same message twice exits history mode. This prevents Up/Down
from staying stuck in history browsing after duplicate sends.
2025-10-08 07:07:29 -07:00
Jeremy Rose
0e5d72cc57
tui: bring the transcript closer to display mode ( #4848 )
...
before
<img width="1161" height="836" alt="Screenshot 2025-10-06 at 3 06 52 PM"
src="https://github.com/user-attachments/assets/7622fd6b-9d37-402f-8651-61c2c55dcbc6 "
/>
after
<img width="1161" height="858" alt="Screenshot 2025-10-06 at 3 07 02 PM"
src="https://github.com/user-attachments/assets/1498f327-1d1a-4630-951f-7ca371ab0139 "
/>
2025-10-07 16:18:48 -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
Gabriel Peal
12fd2b4160
[TUI] Remove bottom padding ( #4854 )
...
We don't need the bottom padding. It currently just makes the footer
look off-centered.
Before:
<img width="1905" height="478" alt="image"
src="https://github.com/user-attachments/assets/c2a18b38-b8fd-4317-bbbb-2843bca02ba1 "
/>
After:
<img width="617" height="479" alt="image"
src="https://github.com/user-attachments/assets/f42470c5-4b24-4a02-b15c-e2aad03e3b42 "
/>
2025-10-07 14:10:05 -04:00
dedrisian-oai
1e4541b982
Fix tab+enter regression on slash commands ( #4639 )
...
Before when you would enter `/di`, hit tab on `/diff`, and then hit
enter, it would execute `/diff`. But now it's just sending it as a text.
This fixes the issue.
2025-10-02 20:14:28 -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
c0a84473a4
fix false "task complete" state during agent message ( #4627 )
...
fixes an issue where user messages wouldn't be queued and ctrl + c would
quit the app instead of canceling the stream during the final agent
message.
2025-10-02 15:41:25 -07:00
Jeremy Rose
25a2e15ec5
tui: tweaks to dialog display ( #4622 )
...
- prefix command approval reasons with "Reason:"
- show keyboard shortcuts for some ListSelectionItems
- remove "description" lines for approval options, and make the labels
more verbose
- add a spacer line in diff display after the path
and some other minor refactors that go along with the above.
<img width="859" height="508" alt="Screenshot 2025-10-02 at 1 24 50 PM"
src="https://github.com/user-attachments/assets/4fa7ecaf-3d3a-406a-bb4d-23e30ce3e5cf "
/>
2025-10-02 21:41:29 +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
2f370e946d
Show context window usage while tasks run ( #4536 )
...
## Summary
- show the remaining context window percentage in `/status` alongside
existing token usage details
- replace the composer shortcut prompt with the context window
percentage (or an unavailable message) while a task is running
- update TUI snapshots to reflect the new context window line
## Testing
- cargo test -p codex-tui
------
https://chatgpt.com/codex/tasks/task_i_68dc6e7397ac8321909d7daff25a396c
2025-10-01 18:03:05 +00:00
dedrisian-oai
3592ecb23c
Named args for custom prompts ( #4474 )
...
Here's the logic:
1. If text is empty and selector is open:
- Enter on a prompt without args should autosubmit the prompt
- Enter on a prompt with numeric args should add `/prompts:name ` to the
text input
- Enter on a prompt with named args should add `/prompts:name ARG1=""
ARG2=""` to the text input
2. If text is not empty but no args are passed:
- For prompts with numeric args -> we allow it to submit (params are
optional)
- For prompts with named args -> we throw an error (all params should
have values)
<img width="454" height="246" alt="Screenshot 2025-09-23 at 2 23 21 PM"
src="https://github.com/user-attachments/assets/fd180a1b-7d17-42ec-b231-8da48828b811 "
/>
2025-09-30 10:06:41 -07:00
easong-openai
5b038135de
Add cloud tasks ( #3197 )
...
Adds a TUI for managing, applying, and creating cloud tasks
2025-09-30 10:10:33 +00:00
dedrisian-oai
bf76258cdc
Custom prompts begin with /prompts: ( #4476 )
...
<img width="608" height="354" alt="Screenshot 2025-09-29 at 4 41 08 PM"
src="https://github.com/user-attachments/assets/162508eb-c1ac-4bc0-95f2-5e23cb4ae428 "
/>
2025-09-29 17:58:16 -07:00
Ahmed Ibrahim
c64da4ff71
Fixes ( #4458 )
...
Fixing the "? for shortcuts"
- Only show the hint when composer is empty
- Don't reset footer on new task updates
- Reorder the elements
- Align the "?" and "/" with overlay on and off
Based on #4364
2025-09-30 00:10:04 +00:00
Ahmed Ibrahim
98efd352ae
reintroduce "? for shortcuts" ( #4364 )
...
Reverts openai/codex#4362
2025-09-29 23:35:47 +00:00
dedrisian-oai
80ccec6530
Custom prompt args (numeric) ( #4470 )
...
[Cherry picked from /pull/3565]
Adds $1, $2, $3, $ARGUMENTS param parsing for custom prompts.
2025-09-29 16:14:37 -07:00
Jeremy Rose
c81baaabda
no background for /command or @file popup ( #4469 )
...
before:
<img width="855" height="270" alt="Screenshot 2025-09-29 at 3 42 53 PM"
src="https://github.com/user-attachments/assets/eb247e1f-0947-4830-93c4-d4ecb2992b32 "
/>
after:
<img width="855" height="270" alt="Screenshot 2025-09-29 at 3 43 04 PM"
src="https://github.com/user-attachments/assets/46717844-6066-47a4-a34a-1a75508ea2c3 "
/>
2025-09-29 22:58:15 +00:00
dedrisian-oai
83a4d4d8ed
Parse out frontmatter for custom prompts ( #4456 )
...
[Cherry picked from https://github.com/openai/codex/pull/3565 ]
Removes the frontmatter description/args from custom prompt files and
only includes body.
2025-09-29 13:06:08 -07:00
Fouad Matin
bcf2bc0aa5
fix(tui): make ? work again ( #4362 )
...
Revert #4330 #4316
2025-09-27 12:18:33 -07:00
Ahmed Ibrahim
5c67dc3af1
Edit the spacing in shortcuts ( #4330 )
...
<img width="739" height="132" alt="image"
src="https://github.com/user-attachments/assets/e8d40abb-ac41-49a2-abc4-ddc6decef989 "
/>
2025-09-26 22:54:38 -07:00
Jeremy Rose
c0960c0f49
tui: separator above final agent message ( #4324 )
...
Adds a separator line before the final agent message
<img width="1011" height="884" alt="Screenshot 2025-09-26 at 4 55 01 PM"
src="https://github.com/user-attachments/assets/7c91adbf-6035-4578-8b88-a6921f11bcbc "
/>
2025-09-26 22:49:59 -07:00
Ahmed Ibrahim
2719fdd12a
Add "? for shortcuts" ( #4316 )
...
https://github.com/user-attachments/assets/9e61b197-024b-4cbc-b40d-c446b448e759
2025-09-26 18:24:26 -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
41f5d61f24
Move approvals to use ListSelectionView ( #4275 )
...
Unify selection menus:
- Move approvals to the vertical menu `ListSelectionView`
- Add header section to `ListSelectionView`
<img width="502" height="214" alt="image"
src="https://github.com/user-attachments/assets/f4b43ddf-3549-403c-ad9e-a523688714e4 "
/>
<img width="748" height="214" alt="image"
src="https://github.com/user-attachments/assets/f94ac7b5-dc94-4dc0-a1df-7a8e3ba2453b "
/>
---------
Co-authored-by: pakrym-oai <pakrym@openai.com >
2025-09-26 07:13:29 -07:00
Ahmed Ibrahim
02609184be
Refactor the footer logic to a new file ( #4259 )
...
This will help us have more control over the footer
---------
Co-authored-by: pakrym-oai <pakrym@openai.com >
2025-09-26 07:13:13 -07:00
Jeremy Rose
affb5fc1d0
fix bug when resizing to a smaller width ( #4248 )
...
The composer and key hint lines were using line styles, causing ratatui
to print spaces all the way to the right side of the terminal. this
meant that resizing the terminal to be narrower would result in
rewrapping those lines, causing the bottom area to rerender and push all
content up.
Before
https://github.com/user-attachments/assets/8b14555a-1fc5-4f78-8df7-1410ee25e07a
After
https://github.com/user-attachments/assets/707645ab-89c7-4c7f-b556-02f53cef8a2f
2025-09-25 14:17:13 -07:00
Jeremy Rose
103adcdf2d
fix: esc w/ queued messages overwrites draft in composer ( #4237 )
...
Instead of overwriting the contents of the composer when pressing
<kbd>Esc</kbd> when there's a queued message, prepend the queued
message(s) to the composer draft.
2025-09-25 10:07:27 -07:00
jif-oai
be366a31ab
chore: clippy on redundant closure ( #4058 )
...
Add redundant closure clippy rules and let Codex fix it by minimising
FQP
2025-09-22 19:30:16 +00:00
dedrisian-oai
8daba53808
feat: Add view stack to BottomPane ( #4026 )
...
Adds a "View Stack" to the bottom pane to allow for pushing/popping
bottom panels.
`esc` will go back instead of dismissing.
Benefit: We retain the "selection state" of a parent panel (e.g. the
review panel).
2025-09-22 11:29:39 -07:00
jif-oai
e258ca61b4
chore: more clippy rules 2 ( #4057 )
...
The only file to watch is the cargo.toml
All the others come from just fix + a few manual small fix
The set of rules have been taken from the list of clippy rules
arbitrarily while trying to optimise the learning and style of the code
while limiting the loss of productivity
2025-09-22 17:16:02 +00:00
dedrisian-oai
5996ee0e5f
feat: Add more /review options ( #3961 )
...
Adds the following options:
1. Review current changes
2. Review a specific commit
3. Review against a base branch (PR style)
4. Custom instructions
<img width="487" height="330" alt="Screenshot 2025-09-20 at 2 11 36 PM"
src="https://github.com/user-attachments/assets/edb0aaa5-5747-47fa-881f-cc4c4f7fe8bc "
/>
---
\+ Adds the following UI helpers:
1. Makes list selection searchable
2. Adds navigation to the bottom pane, so you could add a stack of
popups
3. Basic custom prompt view
2025-09-21 20:18:35 -07:00
Jeremy Rose
ff389dc52f
fix alignment in slash command popup ( #3937 )
2025-09-19 19:08:04 +00:00
easong-openai
45bccd36b0
fix permissions alignment
2025-09-15 17:34:04 -07: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
d4848e558b
Add spacing before composer footer hints ( #3469 )
...
<img width="647" height="82" alt="image"
src="https://github.com/user-attachments/assets/867eb5d9-3076-4018-846e-260a50408185 "
/>
2025-09-12 15:31:24 -04:00