Commit Graph
9686 Commits
Author SHA1 Message Date
Michael Bolin 444942a6eb protocol: keep root carveouts sandboxed 2026-03-06 09:26:32 -08:00
Michael Bolin 1b9ccbd0a1 sandboxing: preserve denied paths when widening permissions 2026-03-06 09:26:32 -08:00
Michael Bolin 47bf763e8a linux-sandbox: plumb split sandbox policies through helper 2026-03-06 09:26:32 -08:00
Michael Bolin ab133b0a82 seatbelt: honor split filesystem sandbox policies 2026-03-06 09:26:32 -08:00
Michael Bolin 0e95cf56b7 safety: honor filesystem policy carveouts in apply_patch 2026-03-06 09:26:32 -08:00
Michael Bolin c83a867232 protocol: derive effective file access from filesystem policies 2026-03-06 09:26:32 -08:00
Michael Bolin 2e0a782f76 sandboxing: plumb split sandbox policies through runtime 2026-03-06 09:26:32 -08:00
Michael Bolin 3ac5f40a5f config: add v3 filesystem permission profiles 2026-03-06 09:25:57 -08:00
Michael Bolin c1f325d5e9 merge commit for archive created by Sapling 2026-03-06 09:24:37 -08:00
Michael Bolin 37444e2f65 refactor: route zsh-fork through unified exec 2026-03-06 09:24:25 -08:00
Michael Bolin 541ee41211 fix: preserve zsh-fork escalation fds in unified-exec PTYs 2026-03-06 09:12:19 -08:00
jif-oai fa16c26908 feat: drop sqlite db feature flag (#13750) 2026-03-06 17:57:52 +01:00
Michael Bolin 8be4608940 merge commit for archive created by Sapling 2026-03-06 08:48:14 -08:00
Michael Bolin ca05f7ebe8 refactor: route zsh-fork through unified exec 2026-03-06 08:47:55 -08:00
Casey Chow b3765a07e8 [rmcp-client] Recover from streamable HTTP 404 sessions (#13514)
## Summary
- add one-time session recovery in `RmcpClient` for streamable HTTP MCP
`404` session expiry
- rebuild the transport and retry the failed operation once after
reinitializing the client state
- extend the test server and integration coverage for `404`, `401`,
single-retry, and non-session failure scenarios

## Testing
- just fmt
- cargo test -p codex-rmcp-client (the post-rebase run lost its final
summary in the terminal; the suite had passed earlier before the rebase)
- just fix -p codex-rmcp-client
2026-03-06 10:02:42 -05:00
jif-oai 5d4303510c fix: windows normalization (#13742) 2026-03-06 15:50:44 +01:00
Eric Traut b5f475ed16 Add timestamps to feedback log lines (#13688)
`/feedback` uploads can include `codex-logs.log` from the in-memory
feedback logger path. That logger was emitting level + message without a
timestamp, which made some uploaded logs much harder to inspect. This
change makes the feedback logger use an explicit timer so
feedback-captured log lines include timestamps consistently.

This is not Windows-specific code. The bug showed up in Windows reports
because those uploads were hitting the feedback-buffer path more often,
while Linux/macOS reports were typically coming from the SQLite feedback
export, which already prefixes timestamps.

Here's an example of a log that is missing the timestamps:

```
TRACE app-server request: getAuthStatus
TRACE app-server request: model/list
 INFO models cache: evaluating cache eligibility
 INFO models cache: attempting load_fresh
 INFO models cache: loaded cache file
 INFO models cache: cache version mismatch
 INFO models cache: no usable cache entry
DEBUG 
 INFO models cache: cache miss, fetching remote models
TRACE windows::current_platform is called
TRACE Returning Info { os_type: Windows, version: Semantic(10, 0, 26200), edition: Some("Windows 11 Professional"), codename: None, bitness: X64, architecture: Some("x86_64") }
```
2026-03-06 07:34:59 -07:00
jif-oai 8ad768eb76 feat: prune old memories in DB (#13734)
To save memory
2026-03-06 15:10:49 +01:00
jif-oai b6d43ec8eb feat: status line with real data (#13619) 2026-03-06 11:01:40 +01:00
Matthew Zeng 98dca99db7 [elicitations] Switch to use MCP style elicitation payload for mcp tool approvals. (#13621)
- [x] Switch to use MCP style elicitation payload for mcp tool
approvals.
- [ ] TODO: Update the UI to support the full spec.
2026-03-06 01:50:26 -08:00
Won Park ee1a20258a Enabling CWD Saving for Image-Gen (#13607)
Codex now saves the generated image on to your current working
directory.
2026-03-06 00:47:21 -08:00
Michael Bolin c3efafe52a merge commit for archive created by Sapling 2026-03-05 23:48:08 -08:00
Michael Bolin d1b3a60650 refactor: route zsh-fork through unified exec 2026-03-05 23:48:00 -08:00
Michael Bolin 7f11b1ec30 merge commit for archive created by Sapling 2026-03-05 23:32:44 -08:00
Michael Bolin b792a0f112 refactor: route zsh-fork through unified exec 2026-03-05 23:32:29 -08:00
Ahmed Ibrahim 6638558b88 change sound (#13697)
# External (non-OpenAI) Pull Request Requirements

Before opening this Pull Request, please read the dedicated
"Contributing" markdown file or your PR may be closed:
https://github.com/openai/codex/blob/main/docs/contributing.md

If your PR conforms to our contribution guidelines, replace this text
with a detailed and high quality description of your changes.

Include a link to a bug report or enhancement request.
2026-03-05 22:48:49 -08:00
sayan-oai 014a59fb0b check app auth in plugin/install (#13685)
#### What
on `plugin/install`, check if installed apps are already authed on
chatgpt, and return list of all apps that are not. clients can use this
list to trigger auth workflows as needed.

checks are best effort based on `codex_apps` loading, much like
`app/list`.

#### Tests
Added integration tests, tested locally.
2026-03-06 06:45:00 +00:00
Michael Bolin e8d82abaf8 Merge 813d209a68 into sapling-pr-archive-bolinfest 2026-03-05 22:35:08 -08:00
Michael Bolin 813d209a68 refactor: route zsh-fork through unified exec 2026-03-05 22:35:00 -08:00
Dylan Hurd 4c9b1c38f6 fix(tui) remove config check for trusted setting (#11874)
## Summary
Simplify the trusted directory flow. This logic was originally designed
several months ago, to determine if codex should start in read-only or
workspace-write mode. However, that's no longer the purpose of directory
trust - and therefore we should get rid of this logic.

## Testing
- [x] Unit tests pass
2026-03-05 22:29:34 -08:00
iceweasel-oai 14de492985 copy current exe to CODEX_HOME/.sandbox-bin for apply_patch (#13669)
We do this for codex-command-runner.exe as well for the same reason.
Windows sandbox users cannot execute binaries in the WindowsApp/
installed directory for the Codex App. This causes apply-patch to fail
because it tries to execute codex.exe as the sandbox user.
2026-03-05 22:15:10 -08:00
viyatb-oai 6a79ed5920 refactor: remove proxy admin endpoint (#13687)
## Summary
- delete the network proxy admin server and its runtime listener/task
plumbing
- remove the admin endpoint config, runtime, requirement, protocol,
schema, and debug-surface fields
- update proxy docs to reflect the remaining HTTP and SOCKS listeners
only
2026-03-05 22:03:16 -08:00
Celia Chen f9ce403b5a fix: accept two macOS automation input shapes for approval payload compatibility (#13683)
## Summary
This PR:
1. fixes a deserialization mismatch for macOS automation permissions in
approval payloads by making core parsing accept both supported wire
shapes for bundle IDs.
2. added `#[serde(default)]` to `MacOsSeatbeltProfileExtensions` so
omitted fields deserialize to secure defaults.


## Why this change is needed
`MacOsAutomationPermission` uses `#[serde(try_from =
"MacOsAutomationPermissionDe")]`, so deserialization is controlled by
`MacOsAutomationPermissionDe`. After we aligned v2
`additionalPermissions.macos.automations` to the core shape, approval
payloads started including `{ "bundle_ids": [...] }` in some paths.
`MacOsAutomationPermissionDe` previously accepted only `"none" | "all"`
or a plain array, so object-shaped bundle IDs failed with `data did not
match any variant of untagged enum MacOsAutomationPermissionDe`. This
change restores compatibility by accepting both forms while preserving
existing normalization behavior (trim values and map empty bundle lists
to `None`).

## Validation

saw this error went away when running
```
cargo run -p codex-app-server-test-client -- \
    --codex-bin ./target/debug/codex \
    -c 'approval_policy="on-request"' \
    -c 'features.shell_zsh_fork=true' \
    -c 'zsh_path="/tmp/codex-zsh-fork/package/vendor/aarch64-apple-darwin/zsh/macos-15/zsh"' \
    send-message-v2 --experimental-api \
    'Use $apple-notes and run scripts/notes_info now.'
```
:
```
Error: failed to deserialize ServerRequest from JSONRPCRequest

Caused by:
    data did not match any variant of untagged enum MacOsAutomationPermissionDe
```
2026-03-06 06:02:33 +00:00
Celia Chen fb9fcf060f chore: remove unused legacy macOS permission types (#13677)
## Summary

This PR removes legacy macOS permission model types from
`codex-rs/protocol/src/models.rs`:

- `MacOsPermissions`
- `MacOsPreferencesValue`
- `MacOsAutomationValue`

The protocol now relies on the current `MacOsSeatbeltProfileExtensions`
model for macOS permission data.
2026-03-06 05:32:40 +00:00
Michael Bolin c6efb245b3 merge commit for archive created by Sapling 2026-03-05 19:55:29 -08:00
Michael Bolin 995ca7d929 refactor: route zsh-fork through unified exec 2026-03-05 19:55:18 -08:00
Michael Bolin dd417b8153 Merge 033851e48d into sapling-pr-archive-bolinfest 2026-03-05 19:38:18 -08:00
Michael Bolin b858afce0a merge commit for archive created by Sapling 2026-03-05 19:37:48 -08:00
Michael Bolin 033851e48d refactor: route zsh-fork through unified exec 2026-03-05 19:37:41 -08:00
Michael Bolin deee4fd3e8 fix: preserve zsh-fork escalation fds in unified-exec PTYs 2026-03-05 19:37:40 -08:00
Michael Bolin 277c529a68 merge commit for archive created by Sapling 2026-03-05 19:35:55 -08:00
Michael Bolin 8cc6c06e91 fix: preserve zsh-fork escalation fds in unified-exec PTYs 2026-03-05 19:35:46 -08:00
xl-openai 520ed724d2 support plugin/list. (#13540)
Introduce a plugin/list which reads from local marketplace.json.
Also update the signature for plugin/install.
2026-03-05 21:58:50 -05:00
Michael Bolin 3191dd48b4 Merge 8da770c716 into sapling-pr-archive-bolinfest 2026-03-05 18:56:11 -08:00
Michael Bolin 544d82ed80 merge commit for archive created by Sapling 2026-03-05 18:55:26 -08:00
Michael Bolin 8da770c716 refactor: route zsh-fork through unified exec 2026-03-05 18:55:18 -08:00
Michael Bolin 0d6d479631 fix: preserve zsh-fork escalation fds in unified-exec PTYs 2026-03-05 18:55:18 -08:00
Michael Bolin 1c9fd360e8 merge commit for archive created by Sapling 2026-03-05 18:48:09 -08:00
Michael Bolin 5b1b74e3ab refactor: route zsh-fork through unified exec 2026-03-05 18:47:49 -08:00
Michael Bolin 4fa3a6b116 fix: preserve zsh-fork escalation fds in unified-exec PTYs 2026-03-05 18:47:49 -08:00