config-codex-cli — Codex skill: set up OmniRoute
Automate OpenAI Codex CLI setup to work with OmniRoute on any OS. The skill detects your system and shell, writes config, creates 7 profiles, and verifies the connection.
npx skills add cheaper-inference/OmniRoute --skill config-codex-cli -a claude-codeWhat config-codex-cli does
This skill automates Codex CLI preparation to use OmniRoute as an OpenAI-compatible backend. It detects your operating system (Linux, macOS, Windows) and shell, generates config.toml with 7 named profiles, sets environment variables, and verifies the setup works.
For multi-hour sessions, two OmniRoute defaults matter. Session affinity is off by default (TTL = 0), which can break continuity when requests land on different accounts. For long tasks, set sessionAffinityTtlMs above your expected runtime—for example, 43200 ms for ~12 hours. Also check STREAM_IDLE_TIMEOUT_MS: if it's under 10 minutes, quiet reasoning turns can be force-closed when no upstream data arrives.
The skill writes config to the standard location, validates syntax, and reports readiness.
What it helps with
- install Codex CLI with OmniRoute support on any OS
- create multiple named profiles for different models and settings
- configure environment for long-running sessions without interruption
- verify that Codex connects to OmniRoute correctly
Example prompts for the agent
- Set up Codex CLI to work with OmniRoute
- Create a Codex configuration with 7 OmniRoute profiles
- Check that Codex connects to OmniRoute properly
How to install config-codex-cli
1Skills CLI (Vercel)
npx skills add cheaper-inference/OmniRoute --skill config-codex-cli -a claude-code2Manually: put the files in place
~/.claude/skills/config-codex-cli/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/config-codex-cli/
1Skills CLI (Vercel)
npx skills add cheaper-inference/OmniRoute --skill config-codex-cli -a codex2Manually: put the files in place
.agents/skills/config-codex-cli/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add cheaper-inference/OmniRoute --skill config-codex-cli -a cursor2Manually: put the files in place
.cursor/skills/config-codex-cli/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install cheaper-inference/OmniRoute config-codex-cli2Manually: put the files in place
.github/skills/config-codex-cli/SKILL.md1Skills CLI (Vercel)
npx skills add cheaper-inference/OmniRoute --skill config-codex-cli -a gemini-cli2Platform CLI
gemini skills install https://github.com/cheaper-inference/OmniRoute --path skills/config-codex-cliManually: put the files in place
.devin/skills/config-codex-cli/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add cheaper-inference/OmniRoute --skill config-codex-cli -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
From the same set34
The whole set →Similar
Questions about config-codex-cli
How do I install config-codex-cli in Codex?
Run npx skills add cheaper-inference/OmniRoute --skill config-codex-cli -a codex. The skill will be available at .agents/skills/config-codex-cli/SKILL.md.
What does config-codex-cli do?
The skill automates setup of OpenAI Codex CLI to use OmniRoute as a backend. It detects your OS and shell, creates a config file with profiles, sets environment variables, and verifies the connection.
Why might multi-hour sessions break?
By default, OmniRoute disables session affinity and sets idle timeout to 10 minutes. For long tasks, raise sessionAffinityTtlMs above your task duration and set STREAM_IDLE_TIMEOUT_MS=0.
Source text
SKILL.md · MIT
--- name: config-codex-cli description: Step-by-step agent workflow to configure the OpenAI Codex CLI on any machine (Linux, macOS, Windows) to use OmniRoute as an OpenAI-compatible backend. Detects OS and shell, writes config.toml and 7 named profiles, sets environment variables, and verifies the setup. --- <!-- generated by src/lib/agentSkills/generator.ts; manual edits will be overwritten --> ## Overview Step-by-step agent workflow to configure the OpenAI Codex CLI on any machine (Linux, macOS, Windows) to use OmniRoute as an OpenAI-compatible backend. Detects OS and shell, writes config.toml and 7 named profiles, sets environment variables, and verifies the setup. ## Quick install ```bash npm install -g omniroute # or: npx omniroute omniroute --version ``` ## Subcommands _No CLI subcommands mapped for this family yet._ <!-- skill:custom-start --> ## Long-running Codex tasks (#7287) Two OmniRoute defaults silently break multi-hour Codex sessions. Document them whenever configuring Codex for overnight / multi-hour work. Full guide: `docs/guides/CODEX-CLI-CONFIGURATION.md` → **Long-running tasks**. ### Session affinity (default off) - Setting: `sessionAffinityTtlMs` (ms; UI shows **Affinity TTL (seconds)** under Dashboard → Settings → Routing → Session affinity). Legacy alias: `codexSessionAffinityTtlMs`. - Default `0` = disabled. Each turn can land on a different account and break prompt-cache / session continuity. - Codex session keys (`x-codex-session-id`, `x-session-id`, `x-omniroute-session`, body `prompt_cache_key` / `session_id`) are only used for pinning when TTL > 0. - Max: `86400` seconds / `86400000` ms (24h). Set TTL **above** the expected task length (e.g. `43200` s for ~12h). ### Stream idle timeout (default 10 minutes) - Env: `STREAM_IDLE_TIMEOUT_MS` (default `600000`). Also consider `FETCH_BODY_TIMEOUT_MS` (same baseline; `0` disables). - Synthetic SSE heartbeats do **not** reset the idle clock — only real upstream chunks do. - A quiet reasoning turn past the idle window is force-closed (`stream_idle_timeout` / `StreamIdleTimeoutError`). Grep logs for `Idle timeout: no data from`. ### Recommended multi-hour recipe 1. Dashboard → Settings → Routing → Session affinity → Affinity TTL = `43200` (12h) or `86400` (24h max). 2. OmniRoute environment: ```bash STREAM_IDLE_TIMEOUT_MS=0 FETCH_BODY_TIMEOUT_MS=0 ``` 3. Restart OmniRoute. Leave Codex `config.toml` as usual (`wire_api = "responses"`, correct `base_url`). ### Defaults decision Do **not** flip ship defaults in code for this skill: `sessionAffinityTtlMs` stays `0` and `STREAM_IDLE_TIMEOUT_MS` stays `600000`. Long-running operators must opt in. See Discussion #5718 and issue #7287. <!-- skill:custom-end -->
© cheaper-inference · MIT · cheaper-inference/OmniRoute