Skip to main content
Codex is OpenAI’s open-source coding agent for the terminal (Apache-2.0, source). It works from natural-language instructions to edit code across your project, run commands, and complete tasks end to end. Codex reads its model providers from a config file, so adding Opper as one provider lets you run it on Claude, Gemini, DeepSeek, or any other model in the catalog.

Setup

One command, no config files:
This starts Codex with Opper passed as its provider through -c flags, for that run only, so ~/.codex/config.toml is left unchanged. --model is optional.
To configure it by hand, add the provider to ~/.codex/config.toml:
wire_api = "responses" sends Codex’s requests to Opper’s Responses endpoint. web_search = "disabled" turns off Codex’s default cached web search, which the gateway can’t serve across providers. The CLI passes both on every run. Then export your key and start Codex:

Choosing a model

Pass any Opper model ID with --model, or set a default in config.toml:
Codex needs tool calling and streaming — pick a model the catalog marks with the tools capability. Browse IDs in the model catalog.

Troubleshooting

Check that OPPER_API_KEY is exported in the shell running Codex, and that env_key in config.toml names that same variable. Opper keys start with op-.
Copy the model ID exactly from the catalog — it includes the provider prefix, as in anthropic/claude-sonnet-4-6.
If the error says web_search is not supported, Codex is requesting its default cached web search, which the gateway can’t serve for those models. Add web_search = "disabled" at the top level of config.toml.
model_provider = "opper" and web_search = "disabled" have to sit at the top level of config.toml, not inside the [model_providers.opper] table. TOML tables capture every key that follows them.

Logs

Every Codex call, with model, latency, tokens, and cost.

All integrations

Every app that runs on Opper.
Last modified on October 2, 2026