Codex says a model "is not supported when using Codex with a ChatGPT account"
The message means Codex sent the request through its ChatGPT sign-in, and that sign-in cannot use the model the message names. Codex's own test suite (rust-v0.162.1, checked 2026-10-15) uses this reply as the server's answer to a ChatGPT-signed-in session whose model the test treats as retired (its example is gpt-5.5). Your Router One key is not involved: a Codex session that uses Router One as its model provider sends its requests to https://api.router.one/v1 with your Router One key and does not go through the ChatGPT sign-in. Confirm which path the session took, point Codex at a custom model provider, and name a model the Router One catalog lists.
What the message means
Per Codex's authentication docs (checked 2026-10-15), you can sign Codex in to OpenAI with ChatGPT, for subscription access, or with an OpenAI API key, for usage-based access; a custom model provider in config.toml can also take its own key from an environment variable through env_key. This message comes back on the ChatGPT sign-in path: the signed-in account or workspace cannot use the model the session asked for. Per OpenAI's workspace model availability page (checked 2026-10-15), with ChatGPT sign-in the Codex CLI can use the models the client supports and the signed-in ChatGPT identity has access to, and naming a model in your local configuration does not grant access to it. Router One is the custom-provider path: Codex calls https://api.router.one/v1 with your Router One API key, so the models available are the ones the Router One catalog lists.
Step 1 — Confirm which path the session used
Run codex login status. Per Codex's authentication docs it shows the active authentication method, and per the Codex source (rust-v0.162.1, checked 2026-10-15) a ChatGPT sign-in prints Logged in using ChatGPT. That stored sign-in is what the built-in OpenAI provider uses; a custom provider with env_key does not need it, so you do not have to log out. What decides this error is whether the session uses your custom provider: ~/.codex/config.toml needs a top-level model_provider line that names it, written above the first [table] header (in TOML, a key written below a header belongs to that table), and the environment variable that env_key names must be set in the shell that starts Codex. Per Codex's advanced configuration docs (checked 2026-10-15), Codex ignores model_provider and model_providers in a project-local .codex/config.toml and prints a startup warning, so set both in ~/.codex/config.toml.
codex login status # how Codex is signed in to OpenAI
sed -n '1,/^\[/p' ~/.codex/config.toml # top-level keys, up to the first [table]
echo "${ROUTER_ONE_API_KEY:+ROUTER_ONE_API_KEY is set}"Step 2 — Run the one-click setup
Run the one-click command with your Router One key. It installs Codex CLI if it is missing, backs up an existing config.toml, writes the configuration shown in step 3 (provider router, env_key = ROUTER_ONE_API_KEY), saves the key in your shell profile and sends one test request. On Windows, use the PowerShell line.
curl -fsSL https://router.one/install/codex.sh | bash -s -- sk-your-api-key # Windows PowerShell: $env:ROUTER_ONE_API_KEY = "sk-your-api-key"; irm https://router.one/install/codex.ps1 | iex
Step 3 — Or edit ~/.codex/config.toml by hand
Three things decide this error. The top-level model_provider = "router" and model = "gpt-5.6-sol" lines sit above the first [table] header. The [model_providers.router] block sets base_url = "https://api.router.one/v1", env_key = "ROUTER_ONE_API_KEY" and wire_api = "responses". And ROUTER_ONE_API_KEY is exported in the shell that starts Codex. Leave requires_openai_auth off on this provider: per Codex's authentication docs, when it is on Codex ignores env_key and uses your OpenAI sign-in. Do not name the block [model_providers.openai] either; per the advanced configuration docs, openai is a reserved built-in provider ID that a custom provider cannot reuse. This is the file the one-click install writes:
model = "gpt-5.6-sol" model_provider = "router" model_reasoning_effort = "high" model_verbosity = "high" web_search = "live" [model_providers.router] base_url = "https://api.router.one/v1" env_key = "ROUTER_ONE_API_KEY" env_key_instructions = "Create an API key at https://router.one/dashboard/api-keys and set the ROUTER_ONE_API_KEY environment variable." name = "Router One" wire_api = "responses"
Step 4 — Name a model the Router One catalog lists
The model named in the message tells you what the ChatGPT sign-in refused; it says nothing about what Router One lists. Before you put a model in the model line, check on /models that the catalog lists it and that its page lists POST /v1/responses, the endpoint Codex calls. The one-click install writes model = "gpt-5.6-sol". Keep a model line even if Codex's default suits you, so a later change to that default cannot move your sessions to another model, and check the model's page on /models for its plan coverage before you rely on it. Then start Codex again and send one prompt: the request appears in Dashboard → Logs with its model, tokens and cost.
What still needs ChatGPT sign-in
Codex cloud. Per Codex's authentication docs (checked 2026-10-15), Codex cloud requires signing in with ChatGPT, so cloud tasks run on your ChatGPT plan and the models it offers, whatever your local config.toml says. A Router One provider applies to local sessions that read ~/.codex/config.toml, such as the Codex CLI. The two can sit side by side: keep the ChatGPT sign-in for Codex cloud and send local sessions through Router One.
FAQ
Is this a Router One error?
No. The message is about Codex's ChatGPT sign-in: the request went out with your ChatGPT account, not with your Router One key. A session that uses Router One as its model provider sends its requests to https://api.router.one/v1 and authenticates with the key in ROUTER_ONE_API_KEY. If you still see the message after setting up Router One, the session did not pick up the provider: check the top-level model_provider line in ~/.codex/config.toml (step 1).
Why did gpt-5.5 start getting this reply on October 14, 2026?
Per OpenAI's Codex models page (checked 2026-10-15), GPT-5.5's retirement from Codex for users signed in with ChatGPT took effect on October 14, 2026, at noon PDT (19:00 UTC), so a ChatGPT-signed-in Codex whose config still names gpt-5.5 gets this reply. The same message can name other models: with ChatGPT sign-in, which models you can use depends on your plan, your workspace settings and the rollout. Through Router One, the model line has to name a model the Router One catalog lists, so check /models first.
Do I have to log out of ChatGPT in Codex?
No. Per Codex's authentication docs (checked 2026-10-15), a custom model provider with env_key uses the API key in that environment variable, so the stored ChatGPT sign-in can stay for Codex cloud and for any session that still uses the built-in OpenAI provider. Do leave requires_openai_auth off on the Router One provider: when it is on, Codex ignores env_key.
Can Codex cloud tasks run through Router One?
No. Per Codex's authentication docs (checked 2026-10-15), Codex cloud requires signing in with ChatGPT, so cloud tasks run on your ChatGPT plan and the models it offers. Router One works for local sessions that read ~/.codex/config.toml, such as the Codex CLI.
Which wire_api does the Router One provider need?
wire_api = "responses". Per OpenAI's Codex models page (checked 2026-10-15), a custom model provider or gateway needs a compatible Responses API endpoint, and current Codex releases do not support a Chat Completions-only endpoint. Router One serves POST /v1/responses natively for the models whose /models page lists it; the Codex Responses API page lists the request features it accepts and the two it rejects.
Another tool shows this message, not the Codex CLI. What then?
The message says the request used Codex with a ChatGPT account, so that tool sent it through a ChatGPT sign-in. Give the tool a Router One API key in its own custom-provider settings instead; the integration guides cover each client, OpenCode and OpenClaw included.
Does this setup work from Mainland China?
Yes. The gateway is reachable from Mainland China without a VPN, and the configuration is the same as anywhere else: the same config.toml and the same ROUTER_ONE_API_KEY variable.