Yeachan-Heo/oh-my-codex · error · MissionCommandError
Unsupported mission mark status: ${value}
Error message
Unsupported mission mark status: ${value} What it means
Thrown when a --status=<value> argument is supplied to mission mark with a value other than the two allowed task statuses: blocked or needs-human-review. The value is validated inline during argument parsing.
Source
Thrown at src/cli/mission.ts:213
continue;
}
if (arg === "--slug") {
slug = readValue(commandArgs, index, arg);
index += 1;
continue;
}
if (arg.startsWith("--task=")) {
taskId = arg.slice("--task=".length);
continue;
}
if (arg === "--task") {
taskId = readValue(commandArgs, index, arg);
index += 1;
continue;
}
if (arg.startsWith("--status=")) {
const value = arg.slice("--status=".length);
if (value !== "blocked" && value !== "needs-human-review") throw new MissionCommandError(`Unsupported mission mark status: ${value}`);
markStatus = value;
continue;
}
if (arg === "--status") {
const value = readValue(commandArgs, index, arg);
if (value !== "blocked" && value !== "needs-human-review") throw new MissionCommandError(`Unsupported mission mark status: ${value}`);
markStatus = value;
index += 1;
continue;
}
if (arg.startsWith("--")) throw new MissionCommandError(`Unknown mission option: ${arg}`);
if (!file) {
file = arg;
continue;
}
throw new MissionCommandError(`Unexpected mission argument: ${arg}`);
}
View on GitHub (pinned to 3ad79a8a6f)
Solutions
- Use exactly `blocked` or `needs-human-review`
- Check spelling of needs-human-review (hyphens, singular 'review')
- Run mission mark --help or consult MISSION_HELP text for valid values
Example fix
# before mission mark mission.md --task t1 --status=failed # after mission mark mission.md --task t1 --status=blocked
Defensive patterns
Strategy: type-guard
Validate before calling
const MARK_STATUSES = ['blocked', 'needs-human-review'] as const;
if (!MARK_STATUSES.includes(value)) throw new Error(`expected one of ${MARK_STATUSES.join('|')}`); Type guard
function isMarkStatus(v: string): v is 'blocked' | 'needs-human-review' {
return v === 'blocked' || v === 'needs-human-review';
} Prevention
- Source status values from a const array shared with the CLI
- Offer choices programmatically instead of free-text input
When it happens
Trigger: `mission mark m.md --task t1 --status=failed`, `--status=in-progress`, or any typo like `--status=needs-human-reviews`.
Common situations: Assuming arbitrary MissionTaskStatus values (pending/passed/failed) can be set via mark; typos in the long status string needs-human-review.
Understand the failure class
Background: Invalid enum value errors: "Unknown type", "Invalid scope", "must be one of" — when a string is not on the library's allowed list — this error's family across 23 libraries.
Related errors
- Invalid --codex-goal-mode; expected aggregate or per-story.
- Invalid --kind: ${raw}. Expected one of ${Array.from(STEERIN
- Invalid --source: ${raw}. Expected one of ${Array.from(STEER
- --keep-policy must be one of: score_improvement, pass_only
- Unknown capabilities subcommand: ${parsed.subcommand}
AI-assisted analysis of Yeachan-Heo/oh-my-codex@3ad79a8a6f (2026-08-27).
Data as JSON: /api/errors/5640176346a93e3c.
Report an issue: GitHub.