stablyai/orca · error · Error

Missing value for ${arg}

Error message

Missing value for ${arg}

What it means

Thrown by the Codex validation harness CLI parser when a value-taking flag (--scenario, --report, --primary-home, --config-template, --temp-parent) is either the last argument or immediately followed by another flag (a token starting with '--'). The readValue() helper enforces that each such flag has a concrete non-flag value.

Source

Thrown at config/scripts/run-codex-real-account-validation.mjs:272

function parseArgs(argv) {
  const options = {
    scenario: 'mixed',
    dryRun: false,
    closeAfterLaunch: false,
    skipBuild: false,
    keep: false,
    reportPath: null,
    primaryHome: os.homedir(),
    configTemplate: null,
    tempParent: null,
    laneAwareContainment: false
  }
  for (let index = 0; index < argv.length; index += 1) {
    const arg = argv[index]
    const readValue = () => {
      const value = argv[index + 1]
      if (!value || value.startsWith('--')) {
        throw new Error(`Missing value for ${arg}`)
      }
      index += 1
      return value
    }
    if (arg === '--scenario') {
      options.scenario = readValue()
    } else if (arg === '--report') {
      options.reportPath = path.resolve(readValue())
    } else if (arg === '--primary-home') {
      options.primaryHome = path.resolve(readValue())
    } else if (arg === '--config-template') {
      options.configTemplate = path.resolve(readValue())
    } else if (arg === '--temp-parent') {
      options.tempParent = path.resolve(readValue())
    } else if (arg === '--dry-run') {
      options.dryRun = true
    } else if (arg === '--close-after-launch') {
      options.closeAfterLaunch = true

View on GitHub (pinned to 1136503c6a)

Solutions

  1. Provide a concrete value after each value-taking flag, e.g. --scenario mixed.
  2. Ensure shell variables are non-empty and do not start with '--'.

Example fix

// before
node config/scripts/run-codex-real-account-validation.mjs --scenario
// after
node config/scripts/run-codex-real-account-validation.mjs --scenario mixed
Defensive patterns

Strategy: validation

Validate before calling

const readValue = () => {
  const value = argv[index + 1]
  if (!value || value.startsWith('--')) {
    throw new Error(`Missing value for ${argv[index]}`)
  }
  index += 1
  return value
}

Type guard

function isFlagValue(value) {
  return typeof value === 'string' && value.length > 0 && !value.startsWith('--')
}

Prevention

When it happens

Trigger: Passing `--scenario` as the last token, or `--report --keep` where the next token is another flag. The parser checks `!value || value.startsWith('--')`.

Common situations: A developer forgets the value, or a shell variable that should hold the value expands to empty.

Related errors


AI-assisted analysis of stablyai/orca@1136503c6a (2026-08-12). Data as JSON: /api/errors/5731aeb9b44bdcc0. Report an issue: GitHub.