- --stage-prompt
- The turn prompt for one stage, and the option that decides how many stages run: give it three times and three stages run. The token {{previous}} is replaced with the previous stage's output, or with the task for the first stage and in parallel mode. A run accepts between 1 and 25 prompts.
- --stage-system-prompt
- The standing instructions for one stage, given exactly as many times as --stage-prompt. This is where a stage's role lives: what it is for, what it must not do, and what shape its output should take. It is discarded with the stage's agent, so it never leaks into another stage.
- --stage-name
- A short label for one stage, used as the agent's name and in progress lines. Leave it out entirely and stages are named stage-1, stage-2, and so on. Give one per stage or none at all, because a partial list is rejected.
- --stage-model
- The model one stage runs on; leave the option out and every stage uses the model Codex is already configured with. Pass an empty value to keep a single stage on that default while pinning the others. An unrecognized model is not caught until Codex runs it.
- --stage-effort
- How much reasoning one stage spends, accepting none, minimal, low, medium, high, or xhigh, defaulting to medium. Analysis and review stages usually justify high, while mechanical stages rarely do. A misspelled value is rejected before anything runs.
- --stage-sandbox
- How far one stage may reach into the filesystem: read-only, workspace-write, or full-access, defaulting to workspace-write. Codex enforces it, so it is a real boundary rather than a hint. Give read-only to stages that only inspect, audit, or plan.
- --stage-approval
- What one stage does when an action needs approval: auto_review lets Codex review and proceed, and deny_all refuses outright. A staged run never stops to prompt you either way. Pair deny_all with a read-only sandbox for a stage that must not act at all.
- --stage-context
- Turn-scoped reference material for one stage, such as a file excerpt, a schema, or a prior decision. It reaches that stage only and never carries forward. Leave it out and every stage runs with none.
- --stage-output-schema
- A JSON object schema that forces one stage to answer in a fixed shape. Use it when the next consumer is another stage, so the handoff can be checked mechanically. Leave a stage's value empty to let it answer in prose.
- --stage-summary
- How much of its own reasoning one stage reports back: none, auto, concise, or detailed, defaulting to auto. It changes what you read, not what the agent does. Choose detailed when a stage exists to show its reasoning to the next one.
- --stage-personality
- The tone one stage writes in: none, friendly, or pragmatic, defaulting to none. It changes framing only, never capability, sandboxing, or cost. Set it on stages whose output a person will read.
- --stage-image
- One image input for one stage, given as a web URL, a data URL, or a local file path. It travels with that stage's turn only. Use it for a screenshot a review stage must look at.
- --stage-skill
- One Codex skill for one stage, written as NAME=PATH pointing at the skill's directory. The skill is loaded by that stage's agent only. Two stages that need the same skill each need their own occurrence.
- --stage-mention
- One named resource for one stage to read, written as NAME=PATH. It reaches that stage's agent only. Leave it out when the prompt already names everything the stage needs.
- --parallel / --sequential
- Chooses whether every stage runs at once or one after another, defaulting to sequential. Sequential passes each finished output into the next stage's {{previous}}, while parallel gives every stage the task and no sight of the others. Stages that build on each other must run sequentially.
- --stop-on-error / --no-stop-on-error
- Decides what happens the first time a stage runs out of attempts. The default stops the run and keeps every result completed before the failure. The no- form records the failure and starts the next stage anyway.
- --max-retries-per-stage
- Sets how many extra attempts a failed stage gets, from 0 to 3, defaulting to 1. Each retry sends the same prompt to a brand-new agent, which recovers from crashes and timeouts. Every attempt is model usage on your own account.
- --idempotency-key
- Recovers an admission whose response you never saw, so the balance is not charged twice for the same run. Leave it out and a fresh key is generated for every run. Reusing a key does not resume the stages; they run again from the first.