Michael Bolin
53ee3f1d0a
Merge 66cbe5ac63 into sapling-pr-archive-bolinfest
2025-08-07 09:49:37 -07:00
Michael Bolin
66cbe5ac63
fix: change OPENAI_DEFAULT_MODEL to "2025-08-06-model"
2025-08-07 09:49:32 -07:00
pakrym-oai
62ed5907f9
Better usage errors ( #1941 )
...
<img width="771" height="279" alt="image"
src="https://github.com/user-attachments/assets/e56f967f-bcd7-49f7-8a94-3d88df68b65a "
/>
2025-08-07 09:46:13 -07:00
Dylan and Gabriel Peal
bc28b87c7b
[config] Onboarding flow with persistence ( #1929 )
...
## Summary
In collaboration with @gpeal: upgrade the onboarding flow, and persist
user settings.
---------
Co-authored-by: Gabriel Peal <gabriel@openai.com >
2025-08-07 09:27:38 -07:00
pakrym-oai
7e9ecfbc6a
Rename the model ( #1942 )
2025-08-07 09:07:51 -07:00
Michael Bolin
6a3c050193
Merge 21ce054ffd into sapling-pr-archive-bolinfest
2025-08-07 08:57:16 -07:00
Michael Bolin
21ce054ffd
fix: change OPENAI_DEFAULT_MODEL to "2025-08-06-model"
2025-08-07 08:56:28 -07:00
pakrym-oai
c87fb83d81
Calculate remaining context based on last token usage ( #1940 )
...
We should only take last request size (in tokens) into account
2025-08-07 05:17:18 -07:00
ae
81b148bda2
feat: update system prompt ( #1939 )
2025-08-07 04:29:50 -07:00
ae
12d29c2779
feat: add tip to upgrade to ChatGPT plan ( #1938 )
2025-08-07 11:10:13 +00:00
ae
c4dc6a80bf
feat: improve output of /status ( #1936 )
...
Now it looks like this:
```
/status
📂 Workspace
• Path: ~/code/codex/codex-rs
• Approval Mode: on-request
• Sandbox: workspace-write
👤 Account
• Signed in with ChatGPT
• Login: example@example.com
• Plan: Pro
🧠 Model
• Name: ?!?!?!?!?!
• Provider: OpenAI
📊 Token Usage
• Input: 11940 (+ 7999 cached)
• Output: 2639
• Total: 14579
```
2025-08-07 12:02:58 +01:00
ae
7c20160676
feat: /prompts slash command ( #1937 )
...
- Shows several example prompts which include @-mentions
------
https://chatgpt.com/codex/tasks/task_i_6894779ba8cc832ca0c871d17ee06aae
2025-08-07 11:55:59 +01:00
Ed Bayes and pap-openai
1e4bf81653
Update copy ( #1935 )
...
Updated copy
---------
Co-authored-by: pap-openai <pap@openai.com >
2025-08-07 03:29:33 -07:00
aibrahim-oai
5589c6089b
approval ui ( #1933 )
...
Asking for approval:
<img width="269" height="41" alt="image"
src="https://github.com/user-attachments/assets/b9ced569-3297-4dae-9ce7-0b015c9e14ea "
/>
Allow:
<img width="400" height="31" alt="image"
src="https://github.com/user-attachments/assets/92056b22-efda-4d49-854d-e2943d5fcf17 "
/>
Reject:
<img width="372" height="30" alt="image"
src="https://github.com/user-attachments/assets/be9530a9-7d41-4800-bb42-abb9a24fc3ea "
/>
Always Approve:
<img width="410" height="36" alt="image"
src="https://github.com/user-attachments/assets/acf871ba-4c26-4501-b303-7956d0151754 "
/>
2025-08-07 02:02:56 -07:00
Michael Bolin
c2c327c723
feat: change shell_environment_policy to default to inherit="all" ( #1904 )
...
Trying to use `core` as the default has been "too clever." Users can
always take responsibility for controlling the env without this setting
at all by specifying the `env` they use when calling `codex` in the
first place.
See https://github.com/openai/codex/issues/1249 .
2025-08-07 01:55:41 -07:00
Ed Bayes and aibrahim-oai
20084facfe
Add spinner animation to TUI status indicator ( #1917 )
...
## Summary
- add a pulsing dot loader before the shimmering `Working` label in the
status indicator widget and include a small test asserting the spinner
character is rendered
- also fix a small bug in the ran command header by adding a space
between the ⚡ and `Ran command`
https://github.com/user-attachments/assets/6768c9d2-e094-49cb-ad51-44bcac10aa6f
## Testing
- `just fmt`
- `just fix` *(failed: E0658 `let` expressions in core/src/client.rs)*
- `cargo test --all-features` *(failed: E0658 `let` expressions in
core/src/client.rs)*
------
https://chatgpt.com/codex/tasks/task_i_68941bffdb948322b0f4190bc9dbe7f6
---------
Co-authored-by: aibrahim-oai <aibrahim@openai.com >
2025-08-07 08:45:04 +00:00
Michael Bolin
8ffb674793
merge commit for archive created by Sapling
2025-08-07 01:37:45 -07:00
Michael Bolin
a9a02305f2
feat: change shell_environment_policy to default to inherit="all"
2025-08-07 01:37:33 -07:00
Michael Bolin
7e8863be16
Merge 108d61f15b into sapling-pr-archive-bolinfest
2025-08-07 01:33:44 -07:00
Michael Bolin
108d61f15b
feat: change shell_environment_policy to default to inherit="all"
2025-08-07 01:33:36 -07:00
Michael Bolin
13982d6b4e
chore: fix outstanding review comments from the bot on #1919 ( #1928 )
...
I should have read the comments before submitting!
2025-08-07 01:30:13 -07:00
ae and Michael Bolin
0334476894
feat: parse info from auth.json and show in /status ( #1923 )
...
- `/status` renders
```
signed in with chatgpt
login: example@example.com
plan: plus
```
- Setup for using this info in a few more places.
---------
Co-authored-by: Michael Bolin <mbolin@openai.com >
2025-08-07 01:27:45 -07:00
Gabriel Peal
6d19b73edf
Add logout command to CLI and TUI ( #1932 )
...
## Summary
- support `codex logout` via new subcommand and helper that removes the
stored `auth.json`
- expose a `logout` function in `codex-login` and test it
- add `/logout` slash command in the TUI; command list is filtered when
not logged in and the handler deletes `auth.json` then exits
## Testing
- `just fix` *(fails: failed to get `diffy` from crates.io)*
- `cargo test --all-features` *(fails: failed to get `diffy` from
crates.io)*
------
https://chatgpt.com/codex/tasks/task_i_68945c3facac832ca83d48499716fb51
2025-08-07 04:17:33 -04:00
ae
28395df957
[fix] fix absolute and % token counts ( #1931 )
...
- For absolute, use non-cached input + output.
- For estimating what % of the model's context window is used, we need
to account for reasoning output tokens from prior turns being dropped
from the context window. We approximate this here by subtracting
reasoning output tokens from the total. This will be off for the current
turn and pending function calls. We can improve it later.
2025-08-07 08:13:36 +00:00
Ed Bayes
eb80614a7c
Tint chat composer background ( #1921 )
...
## Summary
- give the chat composer a subtle custom background and apply it across
the full area drawn
<img width="1008" height="718" alt="composer-bg"
src="https://github.com/user-attachments/assets/4b0f7f69-722a-438a-b4e9-0165ae8865a6 "
/>
- update turn interrupted to be more human readable
<img width="648" height="170" alt="CleanShot 2025-08-06 at 22 44 47@2x"
src="https://github.com/user-attachments/assets/8d35e53a-bbfa-48e7-8612-c280a54e01dd "
/>
## Testing
- `cargo test --all-features` *(fails: `let` expressions in
`core/src/client.rs` require newer rustc)*
- `just fix` *(fails: `let` expressions in `core/src/client.rs` require
newer rustc)*
------
https://chatgpt.com/codex/tasks/task_i_68941f32c1008322bbcc39ee1d29a526
2025-08-07 00:46:45 -07:00
aibrahim-oai
04b40ac179
Move used tokens next to the hints ( #1930 )
...
Before:
<img width="341" height="58" alt="image"
src="https://github.com/user-attachments/assets/3b209e42-1157-4f7b-8385-825c865969e8 "
/>
After:
<img width="490" height="53" alt="image"
src="https://github.com/user-attachments/assets/5d99b9bc-6ac2-4748-b62c-c0c3217622c2 "
/>
2025-08-07 00:45:47 -07:00
easong-openai and Gabriel Peal
4e29c4afe4
Add a UI hint when you press @ ( #1903 )
...
This will make @ more discoverable (even though it is currently not
super useful, IMO it should be used to bring files into context from
outside CWD)
---------
Co-authored-by: Gabriel Peal <gpeal@users.noreply.github.com >
2025-08-07 07:41:48 +00:00
Michael Bolin
1c84ee4ea2
merge commit for archive created by Sapling
2025-08-07 00:20:12 -07:00
Michael Bolin
a88f234a53
chore: fix outstanding review comments from the bot on #1919
2025-08-07 00:20:03 -07:00
Michael Bolin
cd5f9074af
feat: add /tmp by default ( #1919 )
...
Replaces the `include_default_writable_roots` option on
`sandbox_workspace_write` (that defaulted to `true`, which was slightly
weird/annoying) with `exclude_tmpdir_env_var`, which defaults to
`false`.
Though perhaps more importantly `/tmp` is now enabled by default as part
of `sandbox_mode = "workspace-write"`, though `exclude_slash_tmp =
false` can be used to disable this.
2025-08-07 00:17:00 -07:00
aibrahim-oai
fff2bb39f9
change todo ( #1925 )
...
<img width="746" height="135" alt="image"
src="https://github.com/user-attachments/assets/1605b2fb-aa3a-4337-b9e9-93f6ff1361c5 "
/>
<img width="747" height="126" alt="image"
src="https://github.com/user-attachments/assets/6b4366bd-8548-4d29-8cfa-cd484d9a2359 "
/>
2025-08-07 00:01:38 -07:00
Michael Bolin
596b614ff0
merge commit for archive created by Sapling
2025-08-06 23:33:17 -07:00
Michael Bolin
41d9a4a7b8
feat: add /tmp by default
2025-08-06 23:33:12 -07:00
aibrahim-oai
f15e0fe1df
Ensure exec command end always emitted ( #1908 )
...
## Summary
- defer ExecCommandEnd emission until after sandbox resolution
- make sandbox error handler return final exec output and response
- align sandbox error stderr with response content and rename to
`final_output`
- replace unstable `let` chains in client command header logic
## Testing
- `just fmt`
- `just fix`
- `cargo test --all-features` *(fails: NotPresent in
core/tests/client.rs)*
------
https://chatgpt.com/codex/tasks/task_i_6893e63b0c408321a8e1ff2a052c4c51
2025-08-07 06:25:56 +00:00
ae
f0fe61c667
feat: use ctrl c in interrupt hint ( #1926 )
...
https://chatgpt.com/codex/tasks/task_i_689441c33e1c832c85ceda166dab5d33
2025-08-06 23:22:58 -07:00
Michael Bolin
58043137e2
merge commit for archive created by Sapling
2025-08-06 23:00:55 -07:00
Michael Bolin
1e21a0af05
feat: add /tmp by default
2025-08-06 23:00:49 -07:00
ae
935ad5c6f2
feat: >_ ( #1924 )
2025-08-06 22:54:54 -07:00
Michael Bolin
5283816b19
merge commit for archive created by Sapling
2025-08-06 22:34:39 -07:00
Michael Bolin
3bddcfed9a
feat: add /tmp by default
2025-08-06 22:34:34 -07:00
Michael Bolin
53a678c279
merge commit for archive created by Sapling
2025-08-06 22:33:08 -07:00
Michael Bolin
ae87193102
feat: add /tmp by default
2025-08-06 22:33:02 -07:00
aibrahim-oai and Gabriel Peal
ec20e84d80
Change the UI of apply patch ( #1907 )
...
<img width="487" height="108" alt="image"
src="https://github.com/user-attachments/assets/3f6ffd56-36f6-40bc-b999-64279705416a "
/>
---------
Co-authored-by: Gabriel Peal <gpeal@users.noreply.github.com >
2025-08-07 05:25:41 +00:00
Michael Bolin
a2c42e0809
merge commit for archive created by Sapling
2025-08-06 22:18:43 -07:00
Michael Bolin
c2630f8731
feat: add /tmp by default
2025-08-06 22:18:37 -07:00
Michael Bolin
e3d4b5db08
merge commit for archive created by Sapling
2025-08-06 22:03:31 -07:00
Michael Bolin
fb005bacef
feat: add /tmp by default
2025-08-06 22:03:25 -07:00
easong-openai
2098b40369
Scrollable slash commands ( #1830 )
...
Scrollable slash commands. Part 1 of the multi PR.
2025-08-06 21:23:09 -07:00
Michael Bolin
ae0b6705ea
Merge f783157c27 into sapling-pr-archive-bolinfest
2025-08-06 21:21:41 -07:00
aibrahim-oai
4971d54ca7
Show timing and token counts in status indicator ( #1909 )
...
## Summary
- track start time and cumulative tokens in status indicator
- display dim "(Ns • N tokens • Ctrl z to interrupt)" text after
animated Working header
- propagate token usage updates to status indicator views
https://github.com/user-attachments/assets/b73210c1-1533-40b5-b6c2-3c640029fd54
## Testing
- `just fmt`
- `just fix` *(fails: let expressions in this position are unstable)*
- `cargo test --all-features` *(fails: let expressions in this position
are unstable)*
------
https://chatgpt.com/codex/tasks/task_i_6893ec0d74a883218b94005172d7bc4c
2025-08-06 21:20:09 -07:00