Hi everyone,

In Codex and Work Analytics for the last month, codex-auto-review accounts for a surprisingly large share of our usage—far more turns than the models we explicitly selected. The dashboard shows 12,092 total turns, and the light-blue codex-auto-review area dominates much of the chart.

Could someone from OpenAI, or anyone familiar with this metric, clarify:

  1. What exact user actions or system events trigger a codex-auto-review turn? For example, is it run after every Codex agent turn, on code changes, on pull requests, or as a background validation step?
  2. What does the auto-review process actually do, and why can it generate such a high number of turns?
  3. Which underlying model or models does it use? Is the choice fixed or dynamic?
  4. Does this activity count against paid usage, workspace limits, or rate limits?
  5. Can it be disabled, or can its frequency or scope be configured at the workspace, repository, or user level? If so, where?

Context: the screenshot is from Codex and Work Analytics, using the 1M range, grouped by day, and viewed “By model.”

Thanks!

I’ll assume you already read

But the core statement is

Auto-review replaces manual approval at the sandbox boundary with a separate reviewer agent. […] The difference is who reviews eligible escalation requests.

The reviewer is itself a Codex agent with a narrower job than the main agent: decide whether a specific boundary-crossing action should run.

Everytime the model (Codex) makes a request that requires permission, you can manually approve it, or setup this auto-review to approve on your behalf.

If the tokens are too much then you can simply disable it and return to manually approving actions, or even loosen your policies.


Why it’s spending more time than the model itself is definitely worrying, but you haven’t really provided any context to your codebase. I imagine from your name that it’s something to do with cybersecurity or investigating and manipulating memory.

I wouldn’t be surprised if each approval request is pushing the model to really investigate what’s going on before signing off.

There are certainly other reasons here as well: a monolithic codebase or “god modules” can cause this. You can assign a small task of “Update the port scan function to do X”, which is part of ports.py, a massive 10k+ line god file, the Codex model can usually sift through it pretty efficiently, but I would imagine the approval model needs to have a “grand picture” before signing off on things

0xZOne:

  1. Which underlying model or models does it use? Is the choice fixed or dynamic?

You can see the model name in your screenshot: codex-auto-review.