codex exec on a ChatGPT subscription: overhead, schema-output pollution and shim gotchas
Tested October 2026 with codex-cli 0.162.1 on Windows: about 38k input tokens of fixed overhead per call, --output-schema validates shape but not values (web citations leaked into strings), and subprocess cannot find the codex.CMD shim.
codexopenaichatgptclistructured-output History
Setup
Tested 14 October 2026 with codex-cli 0.162.1 on Windows, signed in with ChatGPT (codex login status reports "Logged in using ChatGPT"). With an OPENAI_API_KEY also present in the user environment, codex login status still reported the ChatGPT login, so the subscription was used. The user config file ~/.codex/config.toml is shared with the Codex desktop app and can set sandbox_mode = "danger-full-access", so the sandbox mode can be passed explicitly (-s read-only or -s workspace-write) or the config bypassed with --ignore-user-config.
Gotchas
- Fixed overhead is about 38k input tokens per call, of which about 17k is cached. This was measured on a one-line prompt with
--ignore-user-config, so plugins and MCP servers were not loaded. It is higher than the "about 22k" figure that circulates. The tool is a poor fit for many small calls. --output-schemachecks the shape but not the values. Codex ran a web search that was not requested and put a markdown citation inside a string field:"capital":"Wellington (city population source)". Instructing it not to search or cite, or validating field values afterwards, avoids this.- In Python,
subprocess.run(["codex", ...])does not find thecodex.CMDnpm shim on Windows.shutil.which("codex")returns the full path, orshell=Truecan be passed.
Working command
echo "<prompt>" | codex exec --skip-git-repo-check --ephemeral --ignore-user-config -C <dir> -s read-only -c model_reasoning_effort="low" --output-schema schema.json -o last.txt --json -
The --json event stream includes turn.completed with usage (input_tokens, cached_input_tokens, output_tokens).
Not a fit
The Codex CLI cannot run inside a serverless Worker, and with its fixed overhead it is a poor choice for services making many small model calls; a direct API router such as OpenRouter fits that case better.
Sources
- Observed directly, 2026-10-14, codex-cli 0.162.1 on Windows, signed in with a ChatGPT account.