# X_CLI_BAD_FLAG

## Means

flag or positional rejected

## Typical cause

unknown flag, a bad value (`--port abc`, `--workers 4.9` — refused, never coerced), a required positional left out, or a mandatory-subcommand command called bare. A missing positional says so and names it, rather than inventing a flag that does not exist. A **well-formed** argv whose answer is still no is not this code — a `dev`-tier seed refused against production is `X_SEED_ENVIRONMENT`, because a flag code says "you typed it wrong" and sends the reader to `x help`, which is the wrong instruction there

## Fix

`x help <command>`. **Use that form and not `--help` on `db` and `mcp`** — they declare no default subcommand, and the subcommand is resolved *before* the flag loop, so `x db --help` raises this same error again. Its `fix:` said exactly that until 2026-08

[CLI and verify](/error-codes#cli-and-verify)
