Summary
A top-level custom agent using harness: codex-native accepts the spec model,
but does not propagate llm.reasoning_effort or executor.config.yolo into
the native Codex session. The equivalent named-worker path does propagate
those settings.
This prevents a custom Codex-native orchestrator from being reliably
config-driven and unattended.
Environment
- Omnigent
0.5.1 (built 2026-07-10T23:02:07Z)
- Codex CLI
0.144.5
- macOS
Minimal config
spec_version: 1
name: codex-top-level-probe
executor:
type: omnigent
config:
harness: codex-native
yolo: true
llm:
model: gpt-5.6-terra
reasoning_effort: xhigh
Reproduction
- Create a fresh session from the custom bundle above, without picker-supplied
terminal launch arguments or model/effort overrides.
- Inspect the persisted conversation row.
- Ask the session to run a harmless command, create one throwaway file in
/tmp, and remove that same file.
Observed persisted fields for two fresh probe sessions:
model_override gpt-5.6-terra
reasoning_effort NULL
terminal_launch_args NULL
Observed behavior:
pwd and touch /tmp/<probe> proceed.
rm -f /tmp/<probe> opens a Codex command-approval request.
- A first
sys_session_get_info call opens an Omnigent MCP approval request.
- Once manually approved, the custom top-level agent can dispatch its named
claude_code worker and receive the result through the inbox.
The terminal approval result is consistent with the absence of the configured
full-bypass launch state. The NULL effort means the requested xhigh is not
available to the runner when it builds the Codex app-server configuration.
Expected
For a trusted top-level custom bundle, codex-native should have parity with
the named-worker path:
- persist
llm.reasoning_effort on the session before native launch;
- apply the explicitly configured
yolo: true as the Codex full-bypass launch
state before the first turn;
- retain existing Omnigent guardrail policies as the safety boundary.
The first two are needed even if MCP approval policy remains independently
configurable. For an unattended orchestrator, please also document or expose a
config-only way to allow its declared internal Omnigent dispatch/inbox tools
without a first-turn approval card.
Implementation context
Named worker creation already resolves the sub-spec effort and derives native
launch behavior. The top-level/custom-template branch special-cases
claude-native permission_mode, but does not perform the analogous
codex-native spec-to-session propagation.
This looks adjacent to #2747, but is distinct: in this reproduction the model
is persisted correctly; the missing pieces are reasoning effort and the
top-level Codex bypass state.
Summary
A top-level custom agent using
harness: codex-nativeaccepts the spec model,but does not propagate
llm.reasoning_effortorexecutor.config.yolointothe native Codex session. The equivalent named-worker path does propagate
those settings.
This prevents a custom Codex-native orchestrator from being reliably
config-driven and unattended.
Environment
0.5.1(built2026-07-10T23:02:07Z)0.144.5Minimal config
Reproduction
terminal launch arguments or model/effort overrides.
/tmp, and remove that same file.Observed persisted fields for two fresh probe sessions:
Observed behavior:
pwdandtouch /tmp/<probe>proceed.rm -f /tmp/<probe>opens a Codex command-approval request.sys_session_get_infocall opens an Omnigent MCP approval request.claude_codeworker and receive the result through the inbox.The terminal approval result is consistent with the absence of the configured
full-bypass launch state. The
NULLeffort means the requestedxhighis notavailable to the runner when it builds the Codex app-server configuration.
Expected
For a trusted top-level custom bundle,
codex-nativeshould have parity withthe named-worker path:
llm.reasoning_efforton the session before native launch;yolo: trueas the Codex full-bypass launchstate before the first turn;
The first two are needed even if MCP approval policy remains independently
configurable. For an unattended orchestrator, please also document or expose a
config-only way to allow its declared internal Omnigent dispatch/inbox tools
without a first-turn approval card.
Implementation context
Named worker creation already resolves the sub-spec effort and derives native
launch behavior. The top-level/custom-template branch special-cases
claude-nativepermission_mode, but does not perform the analogouscodex-nativespec-to-session propagation.This looks adjacent to #2747, but is distinct: in this reproduction the model
is persisted correctly; the missing pieces are reasoning effort and the
top-level Codex bypass state.