Run a custom model provider in the Codex App
The official Codex App can talk to a model that is not OpenAI’s. Codex has supported custom model providers in its own configuration for a long time; what has been missing is a way to set one up for the desktop app without hand-editing config files and losing your ChatGPT setup in the process. That is what a custom-provider profile does.
Why do this at all
- You like the Codex App as an interface and would rather not be limited to one vendor’s models inside it.
- A cheaper or faster model is good enough for most of your work, and the price difference over a month is real.
- You want a specific open-weight or specialist model that OpenAI does not serve.
- Your employer requires a particular provider or gateway for anything model-related.
- You want to compare two models on the same task in the same interface, side by side in two windows.
What you need
- CodexUse on macOS (Apple Silicon), and the official Codex App installed.
- A provider that speaks the OpenAI Responses or Chat Completions shape. Most aggregators and self-hosted servers do.
- A credential for that provider. It goes into the macOS Keychain, not into a config file.
The setup, end to end
- Add a connection. Vendor name, base URL, credential. Hit Verify — a synthetic request goes out and any provider error is shown verbatim rather than swallowed.
- Add models. One entry per model, using the upstream ID exactly as the provider spells it. Pick the transport per model, because one provider often exposes both. Publish the ones you want.
- Create a profile of type Custom provider. Choose the connection, the published models, and a default.
- Launch it. A Codex App window opens on an isolated home, and its model picker lists your models — only yours.
What happens underneath
Worth understanding, because it explains the limits further down.
- The profile gets its own Codex home, so its history, settings, and login state are separate from every other profile.
- A gateway on
127.0.0.1presents the Responses API to Codex and translates to whatever your provider speaks. - Codex authenticates to that gateway with a capability CodexUse mints per profile, held in the Keychain. It is not an OpenAI token and it is not your provider key.
- The gateway serves a catalog containing only that profile’s published models, so no OpenAI model appears in that window’s picker.
- Your provider credential is used by the gateway to call upstream. It never reaches the Codex App.
Reasoning effort, without guessing
Most tools show a fixed low / medium / high list for every model. That is wrong often enough to matter: plenty of models expose a different set, and sending an effort a provider does not accept either errors or gets silently ignored.
CodexUse resolves the list instead of assuming it — your override first, then provider metadata, then an exact Models.dev match on both API URL and model ID, and if none of those produce an answer, no effort parameter is sent and the provider decides. The picker then shows exactly what the model supports, and your choice persists across restarts.
What this does not claim
- CodexUse is not affiliated with OpenAI, and this is not a way around OpenAI billing. A custom-provider profile does not call OpenAI at all — it calls the provider you configured, with your own credential, and you pay that provider directly.
- A profile is either an OpenAI account or a custom provider. It is never both. Your ChatGPT profiles keep using ChatGPT exactly as before.
- Hosted ChatGPT features do not work on a custom-provider profile — dictation, browser remote control, and anything that calls ChatGPT’s own backend need a ChatGPT account. Chat, tool calls, and reasoning effort do work.
- Your provider must speak the OpenAI Responses or Chat Completions shape. Providers with a bespoke protocol are not supported.
- macOS on Apple Silicon only. Intel Mac, Windows, and Linux desktop builds are not in the current release line.
- You are responsible for the third-party provider’s terms and costs, and for reviewing your own OpenAI plan terms.
Related
Does this need an OpenAI subscription?
Not for the custom-provider profile itself. That profile authenticates with a local capability, not a ChatGPT account, and its requests go to your provider. You do need the official Codex App installed, and CodexUse’s own account features still expect ChatGPT logins on the profiles where you use them.
Will this affect my ChatGPT account or profiles?
No. A profile is either an OpenAI account or a custom provider, never both, and each has an isolated Codex home. Your ChatGPT profiles keep working exactly as before.
Which providers work?
Any that speaks the OpenAI Responses or Chat Completions shape over HTTPS — aggregators, vendor-hosted OpenAI-compatible endpoints, and local servers included. A provider with a bespoke protocol will not work.
Where does my provider key live?
In the macOS Keychain. It is never written into config.toml, never passed on a command line, and never sent to the Codex App. Only the local gateway reads it, to call your provider.
Can I run several providers at once?
Yes. Create one profile per provider or per model set and launch them side by side. Each is a separate window with its own picker and its own history.