Codex Auto-Review Model Not Found? Use Manual Approval

Codex Auto-Review Model Not Found? Use Manual Approval

Aident AI

A coral path and cyan current separate at a narrow cream threshold in a deep blue field.

Codex Auto-Review Model Not Found? Use Manual Approval

If Codex blocks every escalated action with The requested model 'codex-auto-review' does not exist or says your provider supports other models but received codex-auto-review, switch the approval reviewer to the user while keeping the sandbox and interactive approvals enabled. The smallest safe workaround is approval_policy = "on-request" plus approvals_reviewer = "user". Do not map the hidden reviewer name to an arbitrary model at your gateway.

This diagnosis fits when normal Codex responses work and the error appears only after a shell, network, file, MCP, app, or Computer Use action asks to cross a permission boundary. Current reports reproduce that split with custom OpenAI-compatible providers, Microsoft Foundry or Azure OpenAI deployments, and some API-key paths.

Confirm It Is the Reviewer, Not Your Main Model

Auto-review uses a separate reviewer agent for eligible approval prompts. OpenAI's current documentation is explicit that this changes who reviews a boundary crossing, not the sandbox, network policy, writable roots, or main session model.

Look for one of these errors immediately after an approval request:

Automatic approval review failed:
The requested model 'codex-auto-review' does not exist

The supported API model names are ...
but you passed codex-auto-review

Then separate two failures that look similar:

Check

Reviewer routing failure

Main model selected incorrectly

Normal reply before a tool call

Works

Often fails or behaves abnormally

Error timing

Only when approval is needed

Can affect the whole task

approvals_reviewer

auto_review

Any value

Top-level model

Your intended model

May be codex-auto-review

Record the non-secret configuration fields:

codex --version
grep -E '^(model|model_provider|approval_policy|approvals_reviewer)[[:space:]]*=' \
  ~/.codex/config.toml

In an interactive Codex task, /status can also show the effective permission mode. Do not print the full configuration, provider headers, environment, API keys, or session transcript into an issue report.

Route Approval Back to the User

Back up the user-level configuration first:

cp ~/.codex/config.toml ~/.codex/config.toml.before-auto-review-workaround

Edit the existing top-level keys in ~/.codex/config.toml:

sandbox_mode = "workspace-write"
approval_policy = "on-request"
approvals_reviewer = "user"

Do not create duplicate keys or a second configuration table. Preserve any narrower writable roots, network restrictions, command rules, managed requirements, and project settings already in place.

Fully exit Codex and start a new task. Changing a running task's reviewer may not replace the permission snapshot already active for that turn.

This workaround keeps approval interactive. The next legitimate boundary crossing should show a human approval prompt instead of calling the unavailable reviewer model. Do not manufacture a destructive or privacy-sensitive command merely to test it.

Expected result:

  • normal work inside workspace-write continues without a prompt;

  • a real request to cross the active boundary pauses for you;

  • the codex-auto-review provider error no longer appears; and

  • you can inspect the exact action before approving or rejecting it.

For a fuller sandbox baseline, use How to Prevent Codex from Deleting Files. Manual approval is a routing workaround, not a reason to broaden the filesystem boundary.

Keep the Provider Fix Narrow

The open-source Codex configuration accepts user or auto_review for approvals_reviewer. The hidden codex-auto-review identifier is a preferred internal reviewer route. A custom provider or Azure deployment may not expose that identifier even when it serves your selected main model.

Avoid these tempting fixes:

  • Do not add a gateway alias that silently maps codex-auto-review to your chat model. The reviewer has a distinct policy and sees approval context.

  • Do not set review_model and assume it controls permission review. That key controls the separate /review feature.

  • Do not download and maintain a modified model catalog unless OpenAI documents that as the supported fix for your release.

  • Do not switch to Full Access to make the prompt disappear. That removes the boundary instead of repairing review.

  • Do not repeatedly retry an action that fails closed. The provider route will not change within the same task.

If your organization manages Codex configuration, the local reviewer value may be constrained. Ask the administrator whether user is allowed and whether the deployment officially supports auto-review. Do not bypass managed requirements.

Check the Model Picker Edge Case

A separate current issue exposed the hidden reviewer as a duplicate GPT-5.6-Terra entry in some Codex model pickers. If the earlier configuration check shows this:

model = "codex-auto-review"

select the intended public model again, fully restart Codex, and verify the top-level model value changed. Keep approvals_reviewer separate. The main model and the approval reviewer are different settings.

If the top-level model is already correct and only escalations fail, return to the manual-review workaround. Editing the main model will not repair a provider-blind reviewer request.

For another background route that can send unselected model names to a custom provider, see Codex Memory Uses Models You Did Not Choose?.

Retest After an Update

Update Codex through the supported channel for your surface, then retest in a fresh task with the same provider. Start with manual review and a narrow sandbox. Only re-enable approvals_reviewer = "auto_review" when the release notes, provider documentation, or a controlled test shows the reviewer route is supported.

When you test, record:

  1. Codex version and surface;

  2. operating system;

  3. authentication method and provider name, without credentials;

  4. whether ordinary model requests succeed;

  5. the exact approval category that triggered the error; and

  6. whether approvals_reviewer = "user" restores a manual prompt.

That evidence distinguishes an unavailable reviewer model from a sandbox denial, a bad main model, or a general provider outage.

Reusable Diagnostic Prompt

Give Codex this bounded request:

Diagnose an automatic approval failure without changing permissions, providers, models, files, or credentials. Report the Codex version, effective sandbox mode, approval policy, reviewer, non-secret main model and provider names, whether normal replies work, and whether the exact error appears only after an approval request. Do not print secrets, inspect unrelated files, retry denied actions, enable Full Access, edit a model catalog, or add a gateway alias.

Success is measurable: the output classifies the failure as reviewer routing, main-model selection, or a broader provider problem without weakening the boundary.

To monitor the upstream issues without giving an agent a GitHub token, start with Aident Loadout:

Follow https://aident.ai/SETUP.md

Then ask:

Check Aident Loadout authentication and Vault status. Discover the current read-only GitHub issue Action, inspect its schema, and preflight lookups for openai/codex issues 37664, 25395, 21928, and 19420. If the lookups are valid and free, execute them and return only issue number, state, updated time, labels, title, and canonical URL. Do not comment, react, edit, close, or create anything.

Set up Aident Loadout and monitor the auto-review fix.

Sources

Refresh this guide when issue 37664 changes state, OpenAI documents reviewer routing for custom providers, or Codex exposes a supported provider-specific auto-review configuration.

Home

Home

Home

Integrations

Integrations

Integrations

Vault

Vault

Vault

Audit

Audit

Audit

Arana Grande

Arana Grande

Arana Grande

Free

Free

Free

30-day audit summary

30-day audit summary

30-day audit summary

Daily action-call volume and the latest receipts from the Loadout audit trail.

Daily action-call volume and the latest receipts from the Loadout audit trail.

Daily action-call volume and the latest receipts from the Loadout audit trail.

View Audit

View Audit

View Audit

Loadout usage

Loadout usage

Loadout usage

617 action calls in the last 30 days

617 action calls in the last 30 days

617 action calls in the last 30 days

May 19 - Jun 17

May 19 - Jun 17

May 19 - Jun 17

10 active days

10 active days

10 active days

Less

Less

Less

More

More

More

Recent activity

Recent activity

Recent activity

Latest action-call receipts from connected agents

Latest action-call receipts from connected agents

Latest action-call receipts from connected agents

Apr 23, 09:23 AM

Apr 23, 09:23 AM

Apr 23, 09:23 AM

Shopify

Shopify

Shopify

Creates Or Updates An Asset For A Theme

Creates Or Updates An Asset For A Theme

Creates Or Updates An Asset For A Theme

Success

Success

Success

Apr 23, 09:21 AM

Apr 23, 09:21 AM

Apr 23, 09:21 AM

Shopify

Shopify

Shopify

Update Products Param Product Id

Update Products Param Product Id

Update Products Param Product Id

Success

Success

Success

Apr 23, 08:53 AM

Apr 23, 08:53 AM

Apr 23, 08:53 AM

Shopify

Shopify

Shopify

Update Products Param Product Id

Update Products Param Product Id

Update Products Param Product Id

Failed

Failed

Failed

Apr 22, 22:13 PM

Apr 22, 22:13 PM

Apr 22, 22:13 PM

Shopify

Shopify

Shopify

Create Product Image

Create Product Image

Create Product Image

Success

Success

Success

Apr 22, 22:12 PM

Apr 22, 22:12 PM

Apr 22, 22:12 PM

Shopify

Shopify

Shopify

Create Product Image

Create Product Image

Create Product Image

Success

Success

Success

Connected integration coverage

Connected integration coverage

Connected integration coverage

162

162

162

of 753 accessible connected

of 753 accessible connected

of 753 accessible connected

Callable actions

Callable actions

Callable actions

1,126

1,126

1,126

Vault credentials

Vault credentials

Vault credentials

8

8

8

Explore what's possible

Explore what's possible

Explore what's possible

See all Integrations

See all Integrations

See all Integrations

Google Ads

Google Ads

Google Ads

All available Goolge Ads tools via...

All available Goolge Ads tools via...

All available Goolge Ads tools via...

X (twitter)

X (twitter)

X (twitter)

All available X tools via...

All available X tools via...

All available X tools via...

Github

Github

Github

All available Github tools via...

All available Github tools via...

All available Github tools via...

Notion

Notion

Notion

All available Notion tools via...

All available Notion tools via...

All available Notion tools via...

Slack

Slack

Slack

All available Slack tools via...

All available Slack tools via...

All available Slack tools via...

Firecrawl

Firecrawl

Firecrawl

All available Firecrawl tools via...

All available Firecrawl tools via...

All available Firecrawl tools via...

753 integrations are available for loadouts.

753 integrations are available for loadouts.

753 integrations are available for loadouts.

The one tool

for every tool

your agent needs.

Give any AI agent real capabilities in seconds. Connect 1,000+ tools once, skip the setup headache, and let your agents execute.

Try Aident Loadout

Give your Agent real capabilities in minutes. Connect 1,000+ tools, and let your agents execute.

Try Aident Loadout

Give your Agent real capabilities in minutes. Connect 1,000+ tools, and let your agents execute.

Try Aident Loadout

Give your Agent real capabilities in minutes. Connect 1,000+ tools, and let your agents execute.