codex-cli-runtime

An internal contract for a helper that calls the Codex runtime from Claude Code. It defines how to forward a task and return the helper's output.

In plain words
What is it for?
It is for sending diagnosis, planning, research, or fix requests to Codex and returning the completed task output unchanged.
Why use it?
It keeps delegated work within one controlled process and prevents the surrounding agent from making an unsupported substitute attempt.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/gitguffaw/codex-router/codex-cli-runtime
Any agent
npx skills add gitguffaw/codex-router --skill codex-cli-runtime
Clone the repo
git clone --depth 1 https://github.com/gitguffaw/codex-router

Made for: Claude Code, Codex.

Per session 19 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 935 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin 89% copy Near-identical to another mod in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00019 $0.00935
Opus 5 $0.00010 $0.00467
Sonnet 5 $0.00004 $0.00187
Haiku 4.5 $0.00002 $0.00093

Measured yesterday against content hash 0c82fc5fa582, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

codex-cli-runtime scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

Origin

This is a copy

89% identical to codex-cli-runtime — 24 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.

plugins/codex-router/skills/codex-cli-runtime/SKILL.md · 48 lines

What it actually says

Codex Runtime

Use this skill only inside the codex-router:codex-rescue subagent.

Primary helper:

  • node "${CLAUDE_PLUGIN_ROOT}/scripts/codex-companion.mjs" task --watch "<raw arguments>"

Execution rules:

  • The rescue subagent is a forwarder, not an orchestrator. Its only job is to invoke task --watch once and return that stdout unchanged when the watched job finishes.
  • Prefer the helper over hand-rolled git, direct Codex CLI strings, or any other Bash activity.
  • Do not call setup, review, adversarial-review, status, result, or cancel from codex-router:codex-rescue.
  • Use task for every rescue request, including diagnosis, planning, research, and explicit fix requests.
  • You may use the gpt-5-4-prompting skill to rewrite the user's request into a tighter Codex prompt before the single task call.
  • That prompt drafting is the only Claude-side work allowed. Do not inspect the repo, solve the task yourself, or add independent analysis outside the forwarded prompt text.
  • Leave --effort unset unless the user explicitly requests a specific effort.
  • Leave model unset by default. Add --model only when the user explicitly asks for one.
  • Preserve model selectors and aliases such as spark; the runtime resolves them against the live catalog.
  • Default to a write-capable Codex run by adding --write unless the user explicitly asks for read-only behavior or only wants review, diagnosis, or research without edits.

Command selection:

  • Use exactly one task invocation per rescue handoff.
  • If the forwarded request includes --background or --wait, treat that as Claude-side execution control only. Strip it before calling task, and do not treat it as part of the natural-language task text.
  • Always call internal task --watch without --background. The outer command backgrounds the rescue subagent when requested. --watch launches a detached tracked worker, captures its exact job id, and reconciles only that authorized job.
  • The watcher may expire, but the active worker must continue. Never translate watcher or Bash expiration into job cancellation or failure.
  • If the forwarded request includes --model, pass the selector through unchanged to task; the runtime resolves exact slugs and live aliases.
  • If the forwarded request includes --effort, pass it through to task.
  • If the forwarded request includes -c/--config, --enable, or --disable, pass those controls through to task.
  • If the forwarded request includes --resume, strip that token from the task text and add --resume-last.
  • If the forwarded request includes --fresh, strip that token from the task text and do not add --resume-last.
  • --resume: always use task --resume-last, even if the request text is ambiguous.
  • --fresh: always use a fresh task run, even if the request sounds like a follow-up.
  • --effort: pass through the requested level. Do not maintain a fixed list; Codex effort names evolve. When a model is explicit, the runtime validates the level against that model's live codex debug models entry.
  • task --resume-last: internal helper for "keep going", "resume", "apply the top fix", or "dig deeper" after a previous rescue run.

Safety rules:

  • Default to write-capable Codex work in codex-router:codex-rescue unless the user explicitly asks for read-only behavior.
  • Preserve the user's task text as-is apart from stripping routing flags.
  • Do not inspect the repository, read files, grep, monitor progress, poll status, fetch results, cancel jobs, summarize output, or do any follow-up work of your own.
  • Return the stdout of the task --watch command exactly as-is when it completes.
  • If Bash expires after reporting Codex rescue started as <job-id>, return that exact job id and /codex-router:result <job-id>, and state that the active job was not cancelled.
  • If the Bash call fails before a job id is reported or Codex cannot be invoked, return nothing.
Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. yesterday First seen · 48 lines · 19 tokens per session scan A 0c82fc5fa582

Subscribe to this mod's changes

codex-cli-runtime is a skill published in the GitHub repository gitguffaw/codex-router (2 stars, last pushed 4d ago), licensed Apache-2.0. It adds 19 tokens to every session and 935 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. It is 89% identical to codex-cli-runtime, differing in 24 lines, and is treated as a copy.

Related

Other skills, from other repositories

codex-delegate

Delegate a coding task to the OpenAI Codex CLI as a background implementer, then review its diff and land it yourself. Use this whenever the user wants to hand implementation work to Codex — phrasings like "have Codex do X", "delegate this to Codex", "run it through Codex", or "use Codex to implement/fix/refactor" …

amElnagdy/delegate-skills · 155 tokens

commandcode-delegate

Delegate a coding task to the Command Code CLI (cmd) as a background implementer, then review its diff and land it yourself. Use this whenever the user wants to hand implementation work to Command Code — phrasings like "have Command Code do X", "delegate this to commandcode", "run it through cmd", or "use Command Code…

amElnagdy/delegate-skills · 123 tokens

opencode-delegate

Delegate a coding task to the OpenCode CLI as a background implementer, then review its diff and land it yourself. Use this whenever the user wants to hand implementation work to OpenCode — phrasings like "have OpenCode do X", "delegate this to OpenCode", "run it through OpenCode", or "use OpenCode to…

amElnagdy/delegate-skills · 136 tokens

warp-delegate

Delegate a coding task to the Warp Agent CLI (oz) as a background implementer, then review its diff and land it yourself. Use this whenever the user wants to hand implementation work to Warp - phrasings like "have Warp implement X", "delegate this to the Warp CLI", "run it through Warp", "use oz to…

amElnagdy/delegate-skills · 144 tokens

zcode-delegate

Delegate a coding task to the Z.AI ZCode CLI as a background implementer, then review its diff and land it yourself. Use this whenever the user wants to hand implementation work to ZCode — phrasings like "have ZCode do X", "delegate this to ZCode", "run it through ZCode", or "use ZCode to implement/fix/refactor" — or…

amElnagdy/delegate-skills · 124 tokens

agy-delegate

Delegate a coding task to the Google Antigravity CLI (agy) as a background implementer, then review its diff and land it yourself. Use this whenever the user wants to hand implementation work to Antigravity or agy - phrasings like "have Antigravity do X", "delegate this to agy", "run it through agy", or "use…

amElnagdy/delegate-skills · 132 tokens