# Codex says a model "is not supported when using Codex with a ChatGPT account"

> Markdown mirror of https://router.one/codex-model-not-supported for AI assistants and crawlers. Router One is a unified, OpenAI-compatible LLM API gateway.
> Last updated: 2026-10-15

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.

`terminal`

```bash
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.

`terminal`

```bash
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:

`~/.codex/config.toml`

```toml
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.

## See also

- Codex CLI in China: https://router.one/codex-china
- Codex Responses API: https://router.one/codex-responses-api
- CLI setup guide: https://router.one/docs/guides/cli-setup
- Codex CLI without ChatGPT Plus: https://router.one/blog/codex-cli-without-chatgpt-plus
- Error codes reference: https://router.one/llm-api-error-codes
- Claude Code 401 & 403 guide: https://router.one/claude-code-403
- OpenCode guide: https://router.one/integrations/opencode
- OpenClaw guide: https://router.one/integrations/openclaw
- Codex authentication docs: https://developers.openai.com/codex/auth
- Canonical page: https://router.one/codex-model-not-supported
- Models and per-model token rates: https://router.one/models (markdown: https://router.one/models.md)
- Pricing: https://router.one/pricing
- API docs (markdown): https://router.one/docs.md
- Company facts: https://router.one/facts/company.md
