Custom model providers
A custom-model account runs a non-OpenAI model inside the official Codex app. It has its own isolated Codex home, its own credential, and its own model list. It is not an OpenAI account and does not use one.
/responses or /chat/completions endpoint, and you need a credential for it. CodexUse stores that credential in the macOS Keychain.How it fits together
Three objects, each doing one job:
- Connection — the vendor: a name, a base URL, and a credential. One connection can serve many models.
- Model — one model on that connection: the upstream model ID, a display name, the transport it speaks, and its reasoning behavior.
- Custom-model account — an account with its own Codex window, bound to one connection and the models you published to it.
A local gateway on 127.0.0.1 sits between the Codex app and your provider. It presents the Responses API to Codex, translates to whatever the provider speaks, and serves a catalog containing only that account’s models.
Add a connection
- Open Settings, then select Model Providers under Connections.
- Enter a vendor name, the base URL, and the credential. Use the vendor’s name only — do not put the transport or a model name in it.
- Run Verify. CodexUse makes a synthetic request and reports the exact provider error if it fails.
Add models
- Add a model with its upstream model ID exactly as the provider spells it.
- Choose the transport: Responses or Chat Completions. This is a property of the model, not the connection — one connection can host both.
- Give it a display name. It defaults to the upstream ID and you can rename it without changing routing.
- Publish it. Only published models reach an account.
Reasoning effort
Effort values are resolved in a strict order, and CodexUse never invents them:
- Your own override, if you set one.
- Metadata the provider returns.
- An exact Models.dev match on both the API URL and the model ID.
- Otherwise: no effort parameter is sent and the provider decides.
Matching requires the URL and the ID, because the same model ID can behave differently on different providers. If a model advertises low, high, and max, the Codex picker shows exactly those three — Codex labels low as “Light”. Your selection survives a restart.
Create the account
- Open Accounts, click Add account, and choose Use a custom model.
- Pick the connection, the published models, and a default.
- Click Open. CodexUse provisions an isolated Codex home, writes the model catalog, and opens the Codex window for that account.
What stays isolated
- Each account gets its own Codex home, its own history, and its own app state.
- The provider credential stays in the Keychain and is never written into
config.toml. - The gateway accepts a per-account capability only, compared in constant time, so one account cannot reach another’s models.
- The catalog served to a custom-model account contains only that account’s models. No OpenAI models appear in it.
- Your normal ChatGPT app and its login are untouched.
Changing models later
Editing the published model list re-provisions the account and needs a window restart to take effect. A valid effort selection is preserved across re-provisioning.
What this does not claim
- CodexUse is not affiliated with OpenAI, and this is not a way around OpenAI billing. A custom-model account does not call OpenAI at all — it calls the provider you configured, with your own credential, and you pay that provider directly.
- An account is either an OpenAI account or a custom-model account. It is never both. Your OpenAI accounts keep using ChatGPT exactly as before.
- Hosted ChatGPT features do not work on a custom-model account — dictation, browser remote control, and anything that calls ChatGPT’s own backend need a ChatGPT account. Chat, tool calls, and reasoning controls depend on the configured model, its capabilities, and the provider protocol.
- 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.