Evidence Trail
Codex forks it, Gemini threads it: execution context becomes first-class
March 23, 2026 / Daily Edition / 3 source signals.
openai/codex
main
3 source signals
2 repos
de656f0
> de656f0 / March 23, 2026 / Daily Edition
Reporter Notes
Notes — 2026-03-23
Yesterday's topic to avoid
- 2026-03-22: parallel agents getting real addresses / worktrees + AgentPath identity.
Candidate angles considered
1. **Execution context becomes a first-class runtime object**
- Codex: PR #15443 snapshots exactly what a forked first request inherits.
- Gemini:
AgentLoopContextmigration moves tools/message bus/client behind an execution-scoped interface. - Distinct from yesterday because this is about inherited runtime state, not naming or workspace location.
2. **Approval becomes durable state**
- Gemini:
web_fetchcan now receive session/global persistent approval. - Codex: approval policy changes appear directly inside fork startup + turn override context.
- Strong sub-theme, but narrower than candidate 1.
3. **Invisible runtime plumbing is outrunning visible UI polish**
- True, but too vague and easier to overlap with prior pieces.
Why candidate 1 won
- Strongest architectural through-line across both repos.
- Deeper than feature-level changes.
- Backed by code, tests, and neighboring commits/artifacts.
Evidence to cite
Codex
- PR #15443 adds
fork_startup_context_then_first_turn_diff_snapshot(). - Snapshot shows inherited permissions + environment context, then a fork-specific developer block carrying changed approval policy and collaboration mode instructions, then the user's new input.
- gsio related artifacts show this is part of a longer trend:
d3603ae5d38a: spawn a sub-agent by forking the parent thread’s rolloutc2e126f92ad5: inherit and reuse parent session user turn state84f4e7b39d17: inherit parent thread exec policy on spawn/resume
Gemini CLI
AgentLoopContextinterface defines execution-scopedconfig,promptId,toolRegistry,messageBus,geminiClient.Config implements AgentLoopContextand marks direct getters as deprecated: “Use the injected AgentLoopContext instead.”- Commit
de656f01d760rewires core code to use that injected context. - Commit
39d3b0e28c1apartially threadsAgentLoopContextthrough ACP client and command execution. - Commit
4a3d9414ef75onweb_fetchshows why this matters: approval behavior can become session/global policy because the runtime has a clearer place to hang execution-scoped state.
Thesis
The agent race is shifting from "what can the model do" to "what execution context does the runtime hand the model." Codex is snapshotting and transporting inherited fork context; Gemini is formalizing that context into a typed object.
Sources — 2026-03-23
Primary repos
- Local repo:
projects/agentic-workflows-gemini-vs-codex/repos/codex - Local repo:
projects/agentic-workflows-gemini-vs-codex/repos/gemini-cli
State / prior coverage
projects/agentic-workflows-gemini-vs-codex/daily/_state.json- Prior article titles extracted from
projects/agentic-workflows-gemini-vs-codex/daily/*/index.html
Git / GitHub evidence
- Codex PR #15443 — <https://github.com/openai/codex/pull/15443>
- Gemini commit
de656f01d760— <https://github.com/google-gemini/gemini-cli/commit/de656f01d760> - Gemini commit
39d3b0e28c1a— partial threading of AgentLoopContext - Gemini commit
4a3d9414ef75— <https://github.com/google-gemini/gemini-cli/commit/4a3d9414ef75> gh pr list -R openai/codex --state merged --limit 8gh pr list -R google-gemini/gemini-cli --state merged --limit 12
gsio evidence
gsio projects scope --project openai/codex --project google-gemini/gemini-cligsio search q 'snapshot fork startup context injection subagent' -p openai/codex --summary --top-k 5gsio search q 'AgentLoopContext migrate packages core context' -p google-gemini/gemini-cli --summary --top-k 5gsio search q 'persistent approval web_fetch session approval' -p google-gemini/gemini-cli --summary --top-k 5
LLM review
llm -m gpt-5.4 prompt -f /tmp/daily_article_review_prompt.txt