Codex harness

Codex runtime v1 support contract

The supported and unsupported surfaces for Codex runtime v1. Part of the Codex harness runtime guide; Where each section moved lists every section.

V1 support contract

Supported in Codex runtime v1:

Surface Support Why
OpenAI model loop through Codex Supported Codex app-server owns the OpenAI turn, native thread resume, and native tool continuation.
OpenClaw channel routing and delivery Supported Telegram, Discord, Slack, WhatsApp, iMessage, and other channels stay outside the model runtime.
OpenClaw dynamic tools Supported Codex asks OpenClaw to execute these tools, so OpenClaw stays in the execution path.
Prompt and context plugins Supported OpenClaw projects OpenClaw-specific prompt/context into the Codex turn while normally leaving Codex-owned base, model, and configured project-doc prompts in the native Codex lane. For ordinary policy-restricted turns without a native filesystem environment, OpenClaw carries the bounded workspace AGENTS.md snapshot as thread-level developer instructions. Ring-zero and other context-restricted internal modes suppress both paths. OpenClaw disables Codex's built-in personality for native threads so agent workspace personality files remain authoritative. Native Codex developer instructions accept only command guidance explicitly scoped to codex_app_server; legacy global command hints remain for non-Codex prompt surfaces.
Context engine lifecycle Supported Assemble, ingest, and after-turn maintenance run around Codex turns. Context engines do not replace native Codex compaction.
Dynamic tool hooks Supported before_tool_call, after_tool_call, and tool-result middleware run around OpenClaw-owned dynamic tools.
Lifecycle hooks Supported as adapter observations llm_input, llm_output, agent_end, before_compaction, and after_compaction fire with honest Codex-mode payloads.
Final-answer revision gate Supported through native hook relay Codex Stop is relayed to before_agent_finalize; revise asks Codex for one more model pass before finalization.
Native shell, patch, and MCP block or observe Supported through native hook relay Codex PreToolUse and PostToolUse are relayed for committed native tool surfaces, including MCP payloads on the pinned Codex app-server. Blocking is supported; argument rewriting is not.
Native permission policy Supported through Codex app-server approvals and compatibility native hook relay Codex app-server approval requests route through OpenClaw after Codex review. The PermissionRequest native hook relay is opt-in for native approval modes because Codex emits it before guardian review.
App-server trajectory capture Supported OpenClaw records the request it sent to app-server and the app-server notifications it receives.

Not supported in Codex runtime v1:

Surface V1 boundary Future path
Native tool argument mutation Codex native pre-tool hooks can block, but OpenClaw does not rewrite Codex-native tool arguments. Requires Codex hook/schema support for replacement tool input.
Editable Codex-native transcript history Codex owns canonical native thread history. OpenClaw owns a mirror and can project future context, but should not mutate unsupported internals. Add explicit Codex app-server APIs if native thread surgery is needed.
tool_result_persist for Codex-native tool records That hook transforms OpenClaw-owned transcript writes, not Codex-native tool records. Could mirror transformed records, but canonical rewrite needs Codex support.
Rich native compaction metadata OpenClaw can request native compaction, but does not receive a stable kept/dropped list, token delta, completion summary, or summary payload. Needs richer Codex compaction events.
Compaction intervention OpenClaw does not let plugins or context engines veto, rewrite, or replace native Codex compaction. Add Codex pre/post compaction hooks if plugins need to veto or rewrite native compaction.
Byte-for-byte model API request capture OpenClaw can capture app-server requests and notifications, but Codex core builds the final OpenAI API request internally. Needs a Codex model-request tracing event or debug API.
Was this useful?
On this page

On this page