Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
3510 commits
Select commit Hold shift + click to select a range
3b605b9
code-mode: preserve dropped observation output (#29288)
cconger Jun 21, 2026
eb8c1ee
code-mode: preserve initial yield at completion (#29289)
cconger Jun 21, 2026
b21f0e7
[codex] Add internal auto-compaction opt-out (#28260)
rhan-oai Jun 22, 2026
566f7bf
Propagate safety buffering events to app-server clients (#29371)
fc-oai Jun 22, 2026
98845e4
chore: fix merge race (auto-compaction feature access) (#29393)
sayan-oai Jun 22, 2026
6d15bb3
Persist session IDs across thread resume (#29327)
jif-oai Jun 22, 2026
c03742c
Simplify multi-agent mode controls (#29324)
jif-oai Jun 22, 2026
9c3b10e
Apply sandbox intent inside remote exec servers (#29113)
jif-oai Jun 22, 2026
21d3629
Add workspace messages app-server API (#29001)
xli-oai Jun 22, 2026
91e6da9
Stop logging every Responses WebSocket event (#29432)
jif-oai Jun 22, 2026
22886f2
core: refresh environment context before sampling (#29073)
sayan-oai Jun 22, 2026
8f8de78
fix(core): restore thread_source in x-codex-turn-metadata (#29455)
owenlin0 Jun 22, 2026
e98d43a
Filter noisy targets from persistent logs (#29457)
jif-oai Jun 22, 2026
e79d72d
remove flag for image preparation (#29429)
rka-oai Jun 22, 2026
c1f8b28
ci: restore custom Windows runner with hermetic LLVM 0.7.9 (#29143)
anp-oai Jun 22, 2026
44dbae9
[codex] Centralize Plugin Analytics Metadata (#27102)
jameswt-oai Jun 22, 2026
f6fa259
TUI Plugin Sharing 3 - render remote plugin catalog sections (#26703)
canvrno-oai Jun 22, 2026
9f06cf1
Report remote sandbox denials semantically (#29424)
jif-oai Jun 22, 2026
5b95745
core: rename metadata -> internal_chat_message_metadata_passthrough (…
owenlin0 Jun 22, 2026
20431d4
[sdk/python] Stop advertising HTTP image URLs (#29464)
rka-oai Jun 22, 2026
5c0fbf3
[codex] Fix usage-limit reset copy and state (#28793)
jayp-oai Jun 22, 2026
15f448d
[codex] Start the guardian child session when parent session is start…
jgershen-oai Jun 22, 2026
e48ab86
core: remove unused permissions cwd plumbing (#29468)
bolinfest Jun 22, 2026
1659c4a
PAC 2 - Add shared auth system proxy contract (#26707)
canvrno-oai Jun 22, 2026
5a67d89
Allow ChatGPT accounts without email (#28991)
efrazer-oai Jun 22, 2026
bd5bd95
[codex] configure rollout budget reminder thresholds (#29423)
rka-oai Jun 22, 2026
ced3e4b
permission profiles: expose availability to clients (#26678)
viyatb-oai Jun 22, 2026
cb255c5
[codex] handle request_user_input in app-server test client (#29476)
celia-oai Jun 22, 2026
6db5768
fix(config): address permission profile review follow-ups (#29479)
viyatb-oai Jun 22, 2026
527ccb4
Honor startup custom CA bundles with managed MITM (#29014)
winston-openai Jun 22, 2026
0a9b7d2
chore: advance tungstenite fork pins (#29480)
apanasenko-oai Jun 22, 2026
a72433d
[codex-core-plugins] Remote Plugin ID Persisted to File (#27669)
jameswt-oai Jun 22, 2026
5f129a4
PAC 3 - Add Windows system proxy resolver (#26708)
canvrno-oai Jun 22, 2026
ff37f4a
Register full CDP requirements feature (#28769)
syuan-oai Jun 22, 2026
bf71486
[codex] fetch featured IDs for remote plugins (#29485)
ericning-o Jun 22, 2026
372b5ac
Upgrade bundled OpenSSL to 3.6.3 (#29487)
jif-oai Jun 22, 2026
7ce84e6
[codex] Update esbuild to 0.28.1 (#29489)
pakrym-oai Jun 22, 2026
2c351cb
[plugins] Add dark-mode logo metadata (#29488)
drewschuster-openai Jun 22, 2026
3b32d86
[codex] migrate environment context to model world state (#29249)
pakrym-oai Jun 22, 2026
f1945de
core: wrap token budget window context (#29494)
bolinfest Jun 22, 2026
7153aff
[codex] replace remote images with model-visible error text (#29417)
rka-oai Jun 22, 2026
4a82ecc
feat(core): store turn_id on ResponseItem metadata (#28360)
owenlin0 Jun 22, 2026
c53b1da
[codex] Use tool search for MCP tools by default (#29486)
sayan-oai Jun 22, 2026
11fab43
path-uri: clarify host-native path conversion (#29501)
anp-oai Jun 23, 2026
97dc6ab
fix: world state response item test (#29504)
celia-oai Jun 23, 2026
fbd575a
TUI Plugin Sharing 4 - cover remote plugin catalog flows (#26704)
canvrno-oai Jun 23, 2026
b294638
[codex] reject remote images at app-server ingress (#29419)
rka-oai Jun 23, 2026
e65e480
chore: improve expired Bedrock credential errors (#28992)
celia-oai Jun 23, 2026
ff31ba8
Make formatter output quiet on success (#29467)
anp-oai Jun 23, 2026
b16d285
PAC 4 - Add macOS system proxy resolver (#26709)
canvrno-oai Jun 23, 2026
3310fc8
chore: warn when Code Mode lacks model metadata (#29490)
celia-oai Jun 23, 2026
67009bc
mcp: accept foreign absolute cwd for remote stdio (#29493)
anp-oai Jun 23, 2026
7c22d37
Propagate safety buffering treatment metadata (#29473)
fc-oai Jun 23, 2026
27f22b5
[codex] Reject unlowered PowerShell AST regions (#24092)
bookholt-oai Jun 23, 2026
e0ac5d3
[codex] Expose service tier and reasoning effort in OTEL (#29155)
daniel-oai Jun 23, 2026
802c98c
[codex] stylistic changes (#29068)
rka-oai Jun 23, 2026
a22e3d0
Remove redundant Codex Apps manager flag (#29518)
aibrahim-oai Jun 23, 2026
33cc928
[codex] Use input items for Responses Lite tools (#27946)
rka-oai Jun 23, 2026
f0ad028
Centralize Codex Apps client handling (#29528)
aibrahim-oai Jun 23, 2026
6e0c8b4
Handle additional tools in image URL validation (#29577)
aibrahim-oai Jun 23, 2026
83c4934
Remove redundant Codex Apps cache guard (#29575)
aibrahim-oai Jun 23, 2026
266dcbf
Group Codex Apps client setup (#29583)
aibrahim-oai Jun 23, 2026
d248469
Allow codex sandbox to consume MCP sandbox state (#29358)
jif-oai Jun 23, 2026
63f8f54
Stop persisting bridged log events (#29599)
jif-oai Jun 23, 2026
55bc38a
Fix Codex Apps auth elicitation hang (#29615)
jif-oai Jun 23, 2026
49614a0
Namespace multi-agent v2 tools under collaboration (#29067)
jif-oai Jun 23, 2026
4147824
path-uri: add lexical containment (#29614)
jif-oai Jun 23, 2026
330ae6a
Share resumed rollout history (#28426)
charliemarsh-oai Jun 23, 2026
bbe1006
Update rmcp to 1.8.0 (#29634)
jif-oai Jun 23, 2026
c553cea
Update vulnerable Hono and fast-uri dependencies (#29650)
jif-oai Jun 23, 2026
02c326f
[codex] Instrument rollout persistence bytes (#29498)
wiltzius-openai Jun 23, 2026
9fe6897
[core] debounce current-time reminders by elapsed time (#29659)
rka-oai Jun 23, 2026
8751fd3
Shut down superseded MCP managers on refresh (#29608)
jif-oai Jun 23, 2026
d1d11ca
core: use turn-owned world state for inline compaction (#29527)
sayan-oai Jun 23, 2026
39ee1b9
[codex] Handle additional tools in rollout persistence metrics (#29672)
rka-oai Jun 23, 2026
b539e3e
Handle additional tools in rollout persistence metrics (#29669)
winston-openai Jun 23, 2026
d69828e
Revert "Handle additional tools in rollout persistence metrics" (#29680)
rasmusrygaard Jun 23, 2026
8d80b01
app-server: document thread and turn IDs are UUID7 (#27714)
owenlin0 Jun 23, 2026
e476fc1
Prepare managed network sandbox context (#29456)
jif-oai Jun 23, 2026
2cf2a6a
chore(core) rm AskForApproval::OnFailure (#28418)
dylan-hurd-oai Jun 23, 2026
3548079
core: add extra metadata field to Thread struct (#29675)
kumquatexpress Jun 23, 2026
c5a9a95
Keep managed MITM CA private keys in proxy memory (#29013)
winston-openai Jun 23, 2026
ff50b47
Separate local and remote plugin analytics IDs (#29495)
jameswt-oai Jun 23, 2026
18fe1d9
[codex] Preserve proxy state for filesystem sandbox helpers (#29671)
iceweasel-oai Jun 23, 2026
c660e2b
[codex] allow image generation with provider auth (#29513)
richardopenai Jun 23, 2026
510bce9
core: resolve view_image paths in selected environment (#29526)
anp-oai Jun 23, 2026
00dc5ea
[codex] Fix stale approval policy in MCP test (#29696)
sayan-oai Jun 23, 2026
7aab4b0
[codex] Fix stale approval policy in MCP test (#29704)
kumquatexpress Jun 23, 2026
4cc6a4b
core: use current step environments for tools (#29547)
sayan-oai Jun 23, 2026
cbcf1f8
Add MCP tool call error metrics (#28976)
stevenlee-oai Jun 23, 2026
50eee50
feat(guardian): include connected account email in app reviews (#27045)
viyatb-oai Jun 23, 2026
f650088
Decouple plugin manifest path resolution (#29620)
jif-oai Jun 23, 2026
66f0220
[codex] Report the exec-server working directory (#29666)
rasmusrygaard Jun 23, 2026
1882719
feat(app-server): thread/turns/items/list -> thread/items/list (#29705)
owenlin0 Jun 23, 2026
7b40e35
code-mode: Rename codex_code_mode::CodeModeService (#29716)
cconger Jun 23, 2026
9a79536
test: branch on target OS instead of runner flavor (#29712)
anp-oai Jun 23, 2026
5283522
core tests: rename automatic environment builder (#29728)
anp-oai Jun 23, 2026
c26f961
path-uri: remove legacy path deserialization (#29158)
anp-oai Jun 23, 2026
01f89c8
core: persist initial context window metadata (#29519)
bolinfest Jun 23, 2026
2e69966
Make selected plugin roots URI-native (#28918)
jif-oai Jun 23, 2026
be0dfcf
[codex] define code mode host handshake protocol (#29515)
cconger Jun 23, 2026
bbbea91
[codex] surface rollout budget exhaustion (#29715)
rka-oai Jun 23, 2026
db6e676
code-mode: Remove Session::is_alive() (#29732)
cconger Jun 23, 2026
220f5b7
Load executor skills without host path conversion (#29626)
jif-oai Jun 23, 2026
829f5b6
protocol: separate app and exec RPC ownership (#29714)
anp-oai Jun 23, 2026
4dde907
refactor: extract context window token status (#29664)
bolinfest Jun 23, 2026
77e7ce1
fix: scope context remaining to body window (#29665)
bolinfest Jun 23, 2026
1ec3def
[codex] rename rollout budget error to session budget error (#29744)
rka-oai Jun 23, 2026
3b41869
Update new_context_window instructions (#29739)
andmis Jun 23, 2026
32b65bb
core: reset context for token budget compaction (#29743)
bolinfest Jun 23, 2026
1acb722
Support thread-level originator overrides (#29477)
alexsong-oai Jun 24, 2026
61ff4d0
core: add wait_for_environment for starting environments (#29745)
sayan-oai Jun 24, 2026
322e335
[codex] trace MCP startup latency (#28630)
rphilizaire-openai Jun 24, 2026
97dce07
chore: assign `amsg_` IDs to agent messages (#29750)
bolinfest Jun 24, 2026
283bc4c
test: add app-server auto environment helper (#29746)
anp-oai Jun 24, 2026
61f5a84
Let image generation extension hosts control output persistence (#29711)
won-openai Jun 24, 2026
176af2b
[codex] Reuse compacted history replacement for new context windows (…
pakrym-oai Jun 24, 2026
6f65b9a
[codex] Update bundled skill installer guidance (#29768)
sayan-oai Jun 24, 2026
2696e71
[plugins] Add marketplace source requirements (#29690)
xl-openai Jun 24, 2026
ff78e21
[codex] Ignore local curated plugins when remote catalog is active (#…
xl-openai Jun 24, 2026
806a4b6
[codex] Assign response item IDs in forked history (#29767)
pakrym-oai Jun 24, 2026
3137207
auth: move domain mode below app wire types (#29721)
anp-oai Jun 24, 2026
4fe02f4
[plugins] Enforce marketplace source admission requirements (#29753)
xl-openai Jun 24, 2026
1d65cca
config: own layer provenance types (#29722)
anp-oai Jun 24, 2026
e639e8c
connectors: own app metadata types (#29723)
anp-oai Jun 24, 2026
b17f30e
test: run app-server integration tests under Wine (#29788)
anp-oai Jun 24, 2026
c2b3e3b
test: use automatic environments in app-server integration tests (#29…
anp-oai Jun 24, 2026
31e428a
docs: document remote executor integration testing (#29790)
anp-oai Jun 24, 2026
2a320fe
[codex] Remove auto-compaction opt-out (#29815)
rhan-oai Jun 24, 2026
3e39e92
Keep executor plugin MCP paths URI-native (#29628)
jif-oai Jun 24, 2026
f959e7f
[codex] Emit implicit skill usage for support reads (#29731)
alexsong-oai Jun 24, 2026
b4f0f3e
Persist agent messages as response items (#29829)
jif-oai Jun 24, 2026
c14623d
Add a bounded filesystem walk RPC (#29841)
jif-oai Jun 24, 2026
69b76e9
Use fs/walk for environment skill discovery (#29842)
jif-oai Jun 24, 2026
3694b48
[codex] show external import result counts (#29567)
charlesgong-openai Jun 24, 2026
390b731
Cache plugin namespace during executor skill discovery (#29831)
jif-oai Jun 24, 2026
93c7904
ci: fail jobs that dirty the worktree (#29720)
anp-oai Jun 24, 2026
8a6a34b
Fix environment skill discovery after merge (#29887)
jif-oai Jun 24, 2026
a781761
[codex] fix Windows ConPTY input handling (#29734)
iceweasel-oai Jun 24, 2026
5013d10
[codex] suppress low usage remaining warnings when credits are availa…
brooks-oai Jun 24, 2026
4907f0c
Preserve Windows sandbox identity during credential retry (#29624)
jif-oai Jun 24, 2026
74dcce5
[codex] Trace exec-server JSON-RPC requests (#27466)
richardopenai Jun 24, 2026
96d8e34
Follow directory symlinks in filesystem walks (#29844)
jif-oai Jun 24, 2026
3ccef20
Skip credential refresh for WindowsApps launch failures (#29637)
jif-oai Jun 24, 2026
8057603
feat(app-server): list descendant threads by ancestor (#29591)
btraut-openai Jun 24, 2026
989f55d
feat(network-proxy): experimental local credential broker (#28034)
winston-openai Jun 24, 2026
ece1dfe
[codex] Inject agent graph store into ThreadManager (#29736)
wiltzius-openai Jun 24, 2026
a33ad93
[apps] Thread structured icon assets through app list (#29889)
drewschuster-openai Jun 24, 2026
df1ee09
mcp: keep elicitation requests below app wire types (#29724)
anp-oai Jun 24, 2026
24423f5
[plugins] Track plugin install requests by ID (#29684)
adaley-openai Jun 24, 2026
39aab9f
Pipeline bounded AGENTS.md and Git root probes (#29870)
jif-oai Jun 24, 2026
bb05c1f
[codex] dedupe remote control account header (#29893)
shuo-openai Jun 24, 2026
4e0f863
Add a connector declaration snapshot (#29851)
jif-oai Jun 24, 2026
81f3404
path-uri: normalize parent segments in absolute joins (#29903)
anp-oai Jun 24, 2026
9ff8068
Read connector declarations from executor plugins (#29852)
jif-oai Jun 24, 2026
134646e
Isolate curated plugin sync Git environment (#29785)
etraut-openai Jun 24, 2026
8005292
[codex] namespace sleep under clock (#29907)
rka-oai Jun 25, 2026
35f5d02
[codex] nest sleep config under current time reminder (#29910)
rka-oai Jun 25, 2026
f4e6aa7
feat(remote-control): add daemon pairing command (#29913)
apanasenko-oai Jun 25, 2026
f15df62
core: add configurable <context_window_guidance> message (#29936)
bolinfest Jun 25, 2026
a0d5fd7
TUI Plugin Sharing 5 - polish remote plugin catalog rows (#26705)
canvrno-oai Jun 25, 2026
4c0706e
Allow ChatGPT-hosted MCP servers to use session auth (#29733)
aibrahim-oai Jun 25, 2026
3e51b46
[1/3] core: make world state snapshots serializable (#29833)
sayan-oai Jun 25, 2026
6801941
TUI support for buffer experience (#29919)
etraut-openai Jun 25, 2026
f8937b7
Represent MCP authentication with an enum (#29924)
aibrahim-oai Jun 25, 2026
b3e1c33
code-mode: define process host wire protocol (#29804)
cconger Jun 25, 2026
6db9372
[codex] Populate remote plugin local versions (#29956)
abhinav-oai Jun 25, 2026
fa036d3
[2/3] core: persist world state in rollouts (#29835)
sayan-oai Jun 25, 2026
df1199f
[codex] Add Ultra reasoning effort (#29899)
shijie-oai Jun 25, 2026
a747713
[3/3] core: replay persisted world state (#29837)
sayan-oai Jun 25, 2026
cef5444
Report MCP error codes with server attribution (#29969)
aibrahim-oai Jun 25, 2026
22f1256
core: raise token budget message limits (#29970)
bolinfest Jun 25, 2026
f66d793
[codex] route sleep through time providers (#29973)
rka-oai Jun 25, 2026
51864b0
feat: use run agent task auth for inference (#19051)
adrian-openai Jun 25, 2026
f2f80ef
core: make AGENTS.md react to environment changes (#29810)
sayan-oai Jun 25, 2026
ab80d4d
core: reconcile legacy WorldState sections (#29997)
sayan-oai Jun 25, 2026
5579792
Parallelize environment skill loading (#29990)
anp-oai Jun 25, 2026
6368937
Support HTTP MCP servers from selected executor plugins (#28522)
jif-oai Jun 25, 2026
b215961
Support OAuth for HTTP MCP servers from selected executor plugins (#2…
jif-oai Jun 25, 2026
c38b2e9
Test executor-routed MCP OAuth token exchange (#29656)
jif-oai Jun 25, 2026
2683280
chore(app-server): mark thread/rollback as deprecated (#29928)
owenlin0 Jun 25, 2026
8f02973
Persist selected capability roots and resolve availability per model …
jif-oai Jun 25, 2026
2dec46e
[codex] Record exec-server lifecycle metrics (#27467)
richardopenai Jun 25, 2026
6d9dbac
feat: add provider-aware model fallback to thread start (#29942)
celia-oai Jun 25, 2026
31b99f6
cli: rename sandbox permission profile flag (#30095)
bolinfest Jun 25, 2026
cc78903
[codex] current time reminder interval to be set to 0 (#30029)
rka-oai Jun 25, 2026
c65cfea
core: expose permission profile to shell tools (#29941)
bolinfest Jun 25, 2026
e8d4a1a
[codex] add current time reminder delivery mode config (#30031)
rka-oai Jun 25, 2026
964b138
[codex] Retry temporarily offline exec-server recovery (#30098)
richardopenai Jun 25, 2026
adccb46
[codex] impl delivery_mode: current time reminders on response bounda…
rka-oai Jun 25, 2026
3b78f58
[codex] extend code-mode host IPC transport (#30108)
cconger Jun 25, 2026
3b22498
[codex] Observe remote exec-server lifecycle (#27470)
richardopenai Jun 25, 2026
62c7f50
[codex] poll external clock during sleep (#30113)
rka-oai Jun 25, 2026
703793c
feat(core, mcp): cache codex_apps tools in memory (#29003)
owenlin0 Jun 25, 2026
891f1f4
release: publish standalone zsh artifacts (#30114)
bolinfest Jun 25, 2026
e23e7cb
release: consume standalone zsh artifacts (#30116)
bolinfest Jun 25, 2026
db541f4
[codex] Add managed MCP server matchers (#29648)
felixxia-oai Jun 25, 2026
c9e6d97
Let extensions contribute World State sections (#30100)
jif-oai Jun 25, 2026
b80fbb7
fix(app-server): suppress TUI rollback warning (#30124)
fcoury-oai Jun 25, 2026
a6d20ed
[codex] Surface MCP reauthentication-required startup failures (#29877)
felixxia-oai Jun 25, 2026
e2746fd
Recognize Work web and mobile thread originators (#29988)
chiam-oai Jun 25, 2026
6c21297
[codex] add code-mode host failure supervision hooks (#30110)
cconger Jun 25, 2026
5eebeb8
Project executor skills through World State (#30088)
jif-oai Jun 25, 2026
8ce931a
[codex] Propagate traces through exec-server HTTP (#30117)
wiltzius-openai Jun 25, 2026
ee9e0f6
Pin MCP runtimes to model steps (#30101)
jif-oai Jun 25, 2026
5044062
ci: narrow Windows test skips (#30134)
anp-oai Jun 26, 2026
3095ea9
Project selected plugin runtime by environment availability (#30093)
jif-oai Jun 26, 2026
8ebf71e
Reuse walk inventory for environment skill metadata (#30145)
jif-oai Jun 26, 2026
da78d5f
[codex] implement standalone code-mode process host (#30111)
cconger Jun 26, 2026
841f305
[codex] Attribute app-server analytics by thread originator (#29935)
alexsong-oai Jun 26, 2026
723b23e
Reinject missing World State fragments on resume (#30152)
jif-oai Jun 26, 2026
fb8598d
Keep MCP elicitation routable across runtime refreshes (#30127)
jif-oai Jun 26, 2026
ec300bc
Expose MCP app identity in app context (#29934)
martinauyeung-oai Jun 26, 2026
0d4351c
[codex] allow CCA image generation and web search extensions (#29909)
won-openai Jun 26, 2026
25f50de
Test selected capabilities across availability and resume (#30157)
jif-oai Jun 26, 2026
f5f8123
[codex] fix terminal rollout event durability (#30144)
wiltzius-openai Jun 26, 2026
92d2e1d
Retry failed Codex Apps MCP startup (#29920)
kbazzi Jun 26, 2026
b5866ee
Persist Cloudflare affinity cookies for MCP HTTP (#29516)
stevenlee-oai Jun 26, 2026
ab16046
[codex] add process-owned code-mode session client (#30112)
cconger Jun 26, 2026
7d8906b
[codex] wire process-owned code mode host into core (#30142)
cconger Jun 26, 2026
451c0a4
[codex] fix CreateThreadParams test initializer (#30198)
anp-oai Jun 26, 2026
6d2168f
Reuse MCP runtimes when selected availability changes nothing (#30148)
jif-oai Jun 26, 2026
3c03bb4
Test selected capabilities across unavailable resume (#30215)
jif-oai Jun 26, 2026
914c8ee
[codex] narrow unused skills intro export (#29991)
aibrahim-oai Jun 26, 2026
2c5bc5e
Relax hooks.json top-level metadata validation (#30229)
charlesgong-openai Jun 26, 2026
5267e80
feat(app-server): add history_mode to thread (#29927)
owenlin0 Jun 26, 2026
f913343
fix main (#30276)
owenlin0 Jun 26, 2026
d9cf931
[codex] Add managed new-thread model settings (#29683)
hefuc-oai Jun 26, 2026
a938d5f
Overlap executor skill reads with namespace discovery (#30225)
jif-oai Jun 26, 2026
79a8ffd
[codex] allow AGENTS.md and skills to authorize delegation (#30274)
charlesdu-openai Jun 26, 2026
cf36c68
[codex] Use managed defaults for TUI threads (#30147)
hefuc-oai Jun 26, 2026
812cd2b
ensure thread.history_mode is immutable (#30261)
owenlin0 Jun 26, 2026
f72976a
feat(app-server): add optional turn_id to thread/fork (#30277)
owenlin0 Jun 26, 2026
ac85409
Let Codex consult user-level code-review-* skills. (#30143)
anp-oai Jun 26, 2026
69596f0
feat: add GPT-5.6 variants to Bedrock catalog (#30285)
celia-oai Jun 26, 2026
c55ce3b
Close thread persistence when submission channel closes (#30173)
alfozan Jun 26, 2026
526f495
[codex] Classify nested MCP authentication startup errors (#30257)
felixxia-oai Jun 26, 2026
6509f31
[codex] Support npm marketplace plugin sources (#29375)
charlesgong-openai Jun 26, 2026
1168254
[codex] group blocking and postmerge CI workflows (#30146)
anp-oai Jun 26, 2026
a107b84
feat(protocol): define missing rollout turn items (#30282)
owenlin0 Jun 26, 2026
d047c33
fix(remote-control): avoid server token refresh retry storms (#30201)
apanasenko-oai Jun 27, 2026
d4ec08b
[codex] consume pushed exec-server process events (#30273)
richardopenai Jun 27, 2026
3ae0543
core: overlap diff root discovery with world state (#30286)
anp-oai Jun 27, 2026
4f1b5a4
app-server: structure and test JSON shutdown logs (#30314)
bolinfest Jun 27, 2026
c464468
Update security check wording (#30317)
etraut-openai Jun 27, 2026
328e951
Preserve namespaces on custom tool calls (#30302)
nhamidi-oai Jun 27, 2026
d2885dc
core: stabilize synthesized call output IDs (#30327)
bolinfest Jun 27, 2026
e2398d0
[app-server] expose environment info RPC (#30291)
maxj-oai Jun 27, 2026
9dbdb4e
[plugins] Enforce marketplace source policy at runtime (#29691)
xl-openai Jun 27, 2026
bdd282f
[app-server] increase currentTime/read timeout (#30384)
rka-oai Jun 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
188 changes: 179 additions & 9 deletions .bazelrc
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,6 @@ common:windows --host_platform=//:local_windows
common --@rules_cc//cc/toolchains/args/archiver_flags:use_libtool_on_macos=False
common --@llvm//config:experimental_stub_libgcc_s

# We need to use the sh toolchain on windows so we don't send host bash paths to the linux executor.
common:windows --@rules_rust//rust/settings:experimental_use_sh_toolchain_for_bootstrap_process_wrapper

# TODO(zbarsky): rules_rust doesn't implement this flag properly with remote exec...
# common --@rules_rust//rust/settings:pipelined_compilation

Expand All @@ -32,27 +29,200 @@ common:linux --test_env=PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
common:macos --test_env=PATH=/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

# Pass through some env vars Windows needs to use powershell?
common:windows --test_env=PATH
common:windows --test_env=SYSTEMROOT
common:windows --test_env=COMSPEC
common:windows --test_env=WINDIR
# Rust's libtest harness runs test bodies on std-spawned threads. The default
# 2 MiB stack can be too small for large async test futures on Windows CI; see
# https://github.com/openai/codex/pull/19067 for the motivating failure.
common --test_env=RUST_MIN_STACK=8388608 # 8 MiB

common --test_output=errors
common --bes_results_url=https://app.buildbuddy.io/invocation/
common --bes_backend=grpcs://remote.buildbuddy.io
common --remote_cache=grpcs://remote.buildbuddy.io
common --remote_download_toplevel
common --nobuild_runfile_links
# These settings tune BuildBuddy/RBE behavior but do not contact a remote
# service unless a `buildbuddy-*` configuration below supplies an endpoint.
common --remote_download_toplevel
common --remote_timeout=3600
common --noexperimental_throttle_remote_action_building
common --experimental_remote_execution_keepalive
common --grpc_keepalive_time=30s

# Opt-in remote configurations selected by
# `.github/scripts/run_bazel_with_buildbuddy.py`. Plain Bazel commands do not
# contact BuildBuddy unless a user selects one of these configurations.
# Use the generic host for cache, BES, and downloads without remote execution.
common:buildbuddy-generic --bes_backend=grpcs://remote.buildbuddy.io
common:buildbuddy-generic --bes_results_url=https://app.buildbuddy.io/invocation/
common:buildbuddy-generic --remote_cache=grpcs://remote.buildbuddy.io
common:buildbuddy-generic --experimental_remote_downloader=grpcs://remote.buildbuddy.io

# Add remote execution on the generic host.
common:buildbuddy-generic-rbe --config=buildbuddy-generic
common:buildbuddy-generic-rbe --config=remote
common:buildbuddy-generic-rbe --remote_executor=grpcs://remote.buildbuddy.io

# Use the OpenAI tenant for cache, BES, and downloads without remote execution.
common:buildbuddy-openai --bes_backend=grpcs://openai.buildbuddy.io
common:buildbuddy-openai --bes_results_url=https://openai.buildbuddy.io/invocation/
common:buildbuddy-openai --remote_cache=grpcs://openai.buildbuddy.io
common:buildbuddy-openai --experimental_remote_downloader=grpcs://openai.buildbuddy.io

# Add remote execution on the OpenAI tenant.
common:buildbuddy-openai-rbe --config=buildbuddy-openai
common:buildbuddy-openai-rbe --config=remote
common:buildbuddy-openai-rbe --remote_executor=grpcs://openai.buildbuddy.io

# This limits both in-flight executions and concurrent downloads. Even with high number
# of jobs execution will still be limited by CPU cores, so this just pays a bit of
# memory in exchange for higher download concurrency.
common --jobs=30

# Shared remote execution policy. The endpoint-bearing `buildbuddy-*-rbe`
# configurations include this group; CI configs override TestRunner below
# when tests must remain local on their runner.
common:remote --strategy=remote
common:remote --extra_execution_platforms=//:rbe
common:remote --remote_executor=grpcs://remote.buildbuddy.io
common:remote --jobs=800
# TODO(team): Evaluate if this actually helps, zbarsky is not sure, everything seems bottlenecked on `core` either way.
# Enable pipelined compilation since we are not bound by local CPU count.
#common:remote --@rules_rust//rust/settings:pipelined_compilation

# GitHub Actions CI configs.
common:ci --remote_download_minimal
common:ci --keep_going
common:ci --verbose_failures
common:ci --build_metadata=REPO_URL=https://github.com/openai/codex.git
common:ci --build_metadata=ROLE=CI
common:ci --build_metadata=VISIBILITY=PUBLIC
# rules_rust derives debug level from Bazel toolchain/compilation-mode settings,
# not Cargo profiles. Keep CI Rust actions explicit and lean.
common:ci --@rules_rust//rust/settings:extra_rustc_flag=-Cdebuginfo=0
common:ci --@rules_rust//rust/settings:extra_exec_rustc_flag=-Cdebuginfo=0

# Disable disk cache in CI since we have a remote one and aren't using persistent workers.
common:ci --disk_cache=

# Shared config for the main Bazel CI workflow.
common:ci-bazel --config=ci
common:ci-bazel --build_metadata=TAG_workflow=bazel
# Keep code-mode integration cases out of ordinary Bazel legs. The
# Windows-cross config below re-enables them after generating its Windows V8
# snapshot on the Windows runner. Also skip the ConPTY Ctrl-C integration test
# until Windows Bazel CI can reliably interrupt foreground processes.
common:ci-bazel --test_env=CODEX_BAZEL_TEST_SKIP_FILTERS=suite::code_mode::,tests::windows_tests::conpty_ctrl_c_interrupts_powershell_foreground_child

# Shared config for Bazel-backed Rust linting.
build:clippy --aspects=@rules_rust//rust:defs.bzl%rust_clippy_aspect
build:clippy --output_groups=+clippy_checks
build:clippy --@rules_rust//rust/settings:clippy.toml=//codex-rs:clippy.toml
# Keep this deny-list in sync with `codex-rs/Cargo.toml` `[workspace.lints.clippy]`.
# Cargo applies those lint levels to member crates that opt into `[lints] workspace = true`
# in their own `Cargo.toml`, but `rules_rust` Bazel clippy does not read Cargo lint levels.
# `clippy.toml` can configure lint behavior, but it cannot set allow/warn/deny/forbid levels.
build:clippy --@rules_rust//rust/settings:clippy_flag=-Dwarnings
build:clippy --@rules_rust//rust/settings:clippy_flag=--deny=clippy::await_holding_invalid_type
build:clippy --@rules_rust//rust/settings:clippy_flag=--deny=clippy::await_holding_lock
build:clippy --@rules_rust//rust/settings:clippy_flag=--deny=clippy::expect_used
build:clippy --@rules_rust//rust/settings:clippy_flag=--deny=clippy::identity_op
build:clippy --@rules_rust//rust/settings:clippy_flag=--deny=clippy::manual_clamp
build:clippy --@rules_rust//rust/settings:clippy_flag=--deny=clippy::manual_filter
build:clippy --@rules_rust//rust/settings:clippy_flag=--deny=clippy::manual_find
build:clippy --@rules_rust//rust/settings:clippy_flag=--deny=clippy::manual_flatten
build:clippy --@rules_rust//rust/settings:clippy_flag=--deny=clippy::manual_map
build:clippy --@rules_rust//rust/settings:clippy_flag=--deny=clippy::manual_memcpy
build:clippy --@rules_rust//rust/settings:clippy_flag=--deny=clippy::manual_non_exhaustive
build:clippy --@rules_rust//rust/settings:clippy_flag=--deny=clippy::manual_ok_or
build:clippy --@rules_rust//rust/settings:clippy_flag=--deny=clippy::manual_range_contains
build:clippy --@rules_rust//rust/settings:clippy_flag=--deny=clippy::manual_retain
build:clippy --@rules_rust//rust/settings:clippy_flag=--deny=clippy::manual_strip
build:clippy --@rules_rust//rust/settings:clippy_flag=--deny=clippy::manual_try_fold
build:clippy --@rules_rust//rust/settings:clippy_flag=--deny=clippy::manual_unwrap_or
build:clippy --@rules_rust//rust/settings:clippy_flag=--deny=clippy::needless_borrow
build:clippy --@rules_rust//rust/settings:clippy_flag=--deny=clippy::needless_borrowed_reference
build:clippy --@rules_rust//rust/settings:clippy_flag=--deny=clippy::needless_collect
build:clippy --@rules_rust//rust/settings:clippy_flag=--deny=clippy::needless_late_init
build:clippy --@rules_rust//rust/settings:clippy_flag=--deny=clippy::needless_option_as_deref
build:clippy --@rules_rust//rust/settings:clippy_flag=--deny=clippy::needless_question_mark
build:clippy --@rules_rust//rust/settings:clippy_flag=--deny=clippy::needless_update
build:clippy --@rules_rust//rust/settings:clippy_flag=--deny=clippy::redundant_clone
build:clippy --@rules_rust//rust/settings:clippy_flag=--deny=clippy::redundant_closure
build:clippy --@rules_rust//rust/settings:clippy_flag=--deny=clippy::redundant_closure_for_method_calls
build:clippy --@rules_rust//rust/settings:clippy_flag=--deny=clippy::redundant_static_lifetimes
build:clippy --@rules_rust//rust/settings:clippy_flag=--deny=clippy::trivially_copy_pass_by_ref
build:clippy --@rules_rust//rust/settings:clippy_flag=--deny=clippy::uninlined_format_args
build:clippy --@rules_rust//rust/settings:clippy_flag=--deny=clippy::unnecessary_filter_map
build:clippy --@rules_rust//rust/settings:clippy_flag=--deny=clippy::unnecessary_lazy_evaluations
build:clippy --@rules_rust//rust/settings:clippy_flag=--deny=clippy::unnecessary_sort_by
build:clippy --@rules_rust//rust/settings:clippy_flag=--deny=clippy::unnecessary_to_owned
build:clippy --@rules_rust//rust/settings:clippy_flag=--deny=clippy::unwrap_used

# Shared config for Bazel-backed argument-comment-lint.
build:argument-comment-lint --aspects=//tools/argument-comment-lint:lint_aspect.bzl%rust_argument_comment_lint_aspect
build:argument-comment-lint --output_groups=argument_comment_lint_checks
build:argument-comment-lint --@rules_rust//rust/toolchain/channel=nightly

# Rearrange caches on Windows so they're on the same volume as the checkout.
common:ci-windows --config=ci-bazel
common:ci-windows --build_metadata=TAG_os=windows
common:ci-windows --repo_contents_cache=D:/a/.cache/bazel-repo-contents-cache

# We prefer to run the build actions entirely remotely so we can dial up the concurrency.
# We have platform-specific tests, so we want to execute the tests on all platforms using the strongest sandboxing available on each platform.

# On linux, we can do a full remote build/test, by targeting the right (x86/arm) runners, so we have coverage of both.
# Linux crossbuilds don't work until we untangle the libc constraint mess.
common:ci-linux --config=ci-bazel
common:ci-linux --build_metadata=TAG_os=linux
common:ci-linux --platforms=//:rbe

# On mac, we can run all the build actions remotely but test actions locally.
common:ci-macos --config=ci-bazel
common:ci-macos --build_metadata=TAG_os=macos
common:ci-macos --strategy=TestRunner=darwin-sandbox,local

# On Windows, use Linux remote execution for build actions but keep test actions
# on the Windows runner so Bazel's normal test sharding and flaky-test retries
# still run against Windows binaries.
common:ci-windows-cross --config=ci-windows
common:ci-windows-cross --build_metadata=TAG_windows_cross_compile=true
common:ci-windows-cross --host_platform=//:rbe
common:ci-windows-cross --strategy=TestRunner=local
# V8 embeds IsolateData offsets in snapshot builtins; Windows snapshots must be
# generated by a Windows mksnapshot binary rather than the Linux RBE host tool.
common:ci-windows-cross --strategy=V8Mksnapshot=local
common:ci-windows-cross --local_test_jobs=4
common:ci-windows-cross --test_env=RUST_TEST_THREADS=1
# Native Windows CI still covers the PowerShell parser-process tests. The
# cross-built gnullvm binaries currently hang in those tests when run on the
# Windows runner. Keep V8-backed code-mode tests enabled except for the hidden
# dynamic-tool callback test, which currently times out on Windows. This config
# replaces the base skip list, so repeat the exact ConPTY Ctrl-C test exclusion.
common:ci-windows-cross --test_env=CODEX_BAZEL_TEST_SKIP_FILTERS=command_safety::powershell_parser::tests::,suite::code_mode::code_mode_can_call_hidden_dynamic_tools,tests::windows_tests::conpty_ctrl_c_interrupts_powershell_foreground_child
common:ci-windows-cross --platforms=//:windows_x86_64_gnullvm
common:ci-windows-cross --extra_execution_platforms=//:rbe,//:windows_x86_64_msvc
common:ci-windows-cross --extra_toolchains=//:windows_gnullvm_tests_on_msvc_host_toolchain

# Linux-only V8 CI config.
common:ci-v8 --config=ci
common:ci-v8 --build_metadata=TAG_workflow=v8
common:ci-v8 --build_metadata=TAG_os=linux

# Source-built Bazel V8 artifacts use the in-process sandbox by default. This
# does not affect Cargo's default prebuilt rusty_v8 path.
common --@v8//:v8_enable_pointer_compression=True
common --@v8//:v8_enable_sandbox=True

# Keep currently published rusty_v8 release artifacts non-sandboxed until the
# artifact migration ships matching Rust feature selection for Cargo consumers.
common:v8-release-compat --@v8//:v8_enable_pointer_compression=False
common:v8-release-compat --@v8//:v8_enable_sandbox=False
common:v8-target-x64 --@v8//bazel/config:v8_target_cpu=x64
common:v8-target-arm64 --@v8//bazel/config:v8_target_cpu=arm64

# Match rusty_v8's upstream GN release contract for published artifacts: every
# target object uses Chromium's custom libc++ headers and the archive folds in
# the matching runtime objects.
common:rusty-v8-upstream-libcxx --@v8//:v8_use_rusty_v8_custom_libcxx=True

# Optional per-user local overrides.
try-import %workspace%/user.bazelrc
1 change: 1 addition & 0 deletions .codespellignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
iTerm
iTerm2
psuedo
SOM
te
TE
4 changes: 2 additions & 2 deletions .codespellrc
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[codespell]
# Ref: https://github.com/codespell-project/codespell#using-a-config-file
skip = .git*,vendor,*-lock.yaml,*.lock,.codespellrc,*test.ts,*.jsonl,frame*.txt,*.snap,*.snap.new,*meriyah.umd.min.js
skip = .git*,vendor,*-lock.yaml,*.lock,.codespellrc,*test.ts,*.jsonl,frame*.txt,*.snap,*.snap.new
check-hidden = true
ignore-regex = ^\s*"image/\S+": ".*|\b(afterAll)\b
ignore-words-list = ratatui,ser,iTerm,iterm2,iterm,te,TE
ignore-words-list = ratatui,ser,iTerm,iterm2,iterm,te,TE,PASE,SEH
11 changes: 11 additions & 0 deletions .codex/environments/environment.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# THIS IS AUTOGENERATED. DO NOT EDIT MANUALLY
version = 1
name = "codex"

[setup]
script = "python ./.codex/environments/setup.py"

[[actions]]
name = "Run"
icon = "run"
command = "cargo +1.95.0 run --manifest-path=codex-rs/Cargo.toml --bin codex -- -c mcp_oauth_credentials_store=file"
65 changes: 65 additions & 0 deletions .codex/environments/setup.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
#!/usr/bin/env python3

"""Set up ignored files that should be shared with Codex worktrees."""

import shutil
import subprocess
from functools import cache
from pathlib import Path


@cache
def worktree_paths() -> tuple[Path, Path]:
script_dir = Path(__file__).resolve().parent
worktree_root = git_path(script_dir / "../..", "--show-toplevel")
common_git_dir = git_path(worktree_root, "--git-common-dir")
return worktree_root, common_git_dir.parent


def git_path(working_directory: Path, argument: str) -> Path:
output = subprocess.check_output(
[
"git",
"-C",
str(working_directory),
"rev-parse",
"--path-format=absolute",
argument,
],
text=True,
)
return Path(output.strip())


def copy_from_main_worktree_to_worktree(repo_relative_path: str) -> None:
relative_path = Path(repo_relative_path)
if relative_path.is_absolute() or ".." in relative_path.parts:
raise ValueError(f"path must be repository-relative: {repo_relative_path}")

worktree_root, main_worktree = worktree_paths()
source_path = main_worktree / relative_path
destination_path = worktree_root / relative_path

print(f" source: {source_path}")
print(f" destination: {destination_path}")

if source_path == destination_path:
print(" result: running in the main worktree; nothing to copy")
elif destination_path.exists():
print(" result: destination already exists; nothing to copy")
elif not source_path.is_file():
print(" result: source does not exist; nothing to copy")
else:
destination_path.parent.mkdir(parents=True, exist_ok=True)
shutil.copy2(source_path, destination_path)
print(f" result: copied {repo_relative_path}")


def main() -> None:
print("Codex environment setup:")
# See codex-rs/docs/bazel.md for the repository's Bazel workflow.
copy_from_main_worktree_to_worktree("user.bazelrc")


if __name__ == "__main__":
main()
Loading