Last updated

Use External Models While Signed In to ChatGPT | Codex Router

Use external models while signed in to ChatGPT means keeping your ChatGPT authentication available in Codex while models from other providers stay selectable. Codex Router’s Control Center exposes this through the Use Router with ChatGPT switch.

OpenAIChatGPT + external modelssigned inswitch

What the switch does

On current Codex builds, an explicit switch from the built-in OpenAI provider selects the managed codex-router-signed transport, so Codex validates prefixed model ids against the router before sending them. ChatGPT authentication stays available, and external provider models remain selectable in the same picker.

The prior provider is stored in protected state and restored when the switch is turned off. Normal updates and catalog refreshes do not silently opt an existing installation into the switch.

When a conversation moves from a routed model back to a native GPT model, the native backend cannot decrypt foreign reasoning items. Current main preserves reasoning text that the conversation depends on by replaying it as a clearly labelled assistant message; native OpenAI reasoning items and their continuation tokens remain unchanged. Set CODEX_ROUTER_NATIVE_REASONING_AS_TEXT=0 only if you intentionally want the older passthrough behavior.

Turn it on

In the Codex Router Control Center, enable Use Router with ChatGPT. New Codex sessions then route external models through the managed transport while native GPT models continue to use ChatGPT.

From the CLI, you can switch the active model directly, and you can control login-free mode with the auth-mode commands:

./bin/control model-set <model-slug>
./bin/control auth-mode on
./bin/control auth-mode off

./bin/control model-set <model-slug> accepts canonical external slugs and writes the aliased native slug so pickers highlight the selection. Fully quit and reopen Codex after a change.

Native redirect is independent

The optional native redirect is independent of this switch and of model failover. If native redirect is set, every unmatched native GPT turn that reaches the router keeps using its configured external route until you clear it:

./bin/control native-redirect clear

Clearing it does not change the ChatGPT sign-in or the external provider catalog; it only stops unmatched native turns from being redirected.

Automatic approval reviews when ChatGPT quota runs out

Codex runs Approve for me on its own hidden native model, which is a separate quota from the session’s. With the router switch on, an exhausted ChatGPT plan can leave a session that still reasons and proposes commands by an external provider, while every automatic approval review fails for quota.

Name a routed model to take over exactly those reviews:

./bin/control auto-review-fallback set kimi-oauth/k3
./bin/control auto-review-fallback status
./bin/control auto-review-fallback clear

The fallback engages only after Codex’s own reviewer has refused a review for quota, and only for the window that refusal named. A denial, a policy rejection, a malformed answer or any other failure stays with the native reviewer — a deny is a decision and is never retried through another model. The first answer the native reviewer gives afterwards ends the window, so reviews return to it on their own. It does not change which model runs your session.

Login-free mode

The tray’s Use without OpenAI login switch is a different feature. It selects the managed custom provider for new Codex sessions, so enabled external models use their own OAuth session or API key and need no ChatGPT login. Connect and enable at least one external provider before turning it on.

The CLI equivalent is ./bin/control auth-mode on / ./bin/control auth-mode off; when using the command directly, restart Codex yourself. Native GPT models still require OpenAI authentication and are not available while signed out.

Non-Codex clients

Other clients, such as DeepSeek Harness and Gemini CLI, reach native GPT models only after you authorize the shared route once:

codex login
./bin/model-router codex chatgpt-session enable

Revoke the authorization everywhere with:

./bin/model-router codex chatgpt-session disable

Codex stays signed in and keeps its own native models after a revoke. Native models are withheld until both the authorization and a usable Codex session exist, and disappear again when the session is missing or expired.

FAQ

Can I use external models without logging out of ChatGPT? Yes. The Control Center’s Use Router with ChatGPT switch keeps ChatGPT authentication available while external provider models remain selectable.

Does updating Codex Router silently enable the switch? No. Normal updates and catalog refreshes do not silently opt an existing installation into the provider switch. Turning the switch off restores the prior provider stored in protected state.

What is login-free mode? It is a separate tray switch, Use without OpenAI login, which selects the managed custom provider for new Codex sessions. The CLI equivalent is ./bin/control auth-mode on or auth-mode off.

Related: FAQ, installation, models overview, compatible apps.