{"record":{"id":"73823a1ce2631777","repo":"remix-run/remix","slug":"rmx-missing-option-value-73823a","errorCode":"RMX_MISSING_OPTION_VALUE","errorMessage":"${option} requires a value.","messagePattern":"(.+?) requires a value\\.","errorType":"validation","errorClass":"UsageError","httpStatus":null,"severity":"error","filePath":"packages/cli/src/lib/parse-args.ts","lineNumber":69,"sourceCode":"    let arg = argv[index]!\n    let equalsIndex = arg.indexOf('=')\n    let flag = equalsIndex === -1 ? arg : arg.slice(0, equalsIndex)\n    let inlineValue = equalsIndex === -1 ? undefined : arg.slice(equalsIndex + 1)\n    let resolved = specsByFlag.get(flag)\n\n    if (resolved != null) {\n      if (resolved.spec.type === 'boolean') {\n        if (inlineValue !== undefined) {\n          throw unknownArgument(arg)\n        }\n\n        values[resolved.key] = true as ParsedArgsValues<definitions>[typeof resolved.key]\n        continue\n      }\n\n      if (inlineValue !== undefined) {\n        if (inlineValue.length === 0) {\n          throw missingOptionValue(flag)\n        }\n\n        values[resolved.key] = inlineValue as ParsedArgsValues<definitions>[typeof resolved.key]\n        continue\n      }\n\n      let next = argv[index + 1]\n      if (next == null || next.length === 0 || next.startsWith('-')) {\n        throw missingOptionValue(flag)\n      }\n\n      values[resolved.key] = next as ParsedArgsValues<definitions>[typeof resolved.key]\n      index += 1\n      continue\n    }\n\n    if (arg.startsWith('-')) {\n      throw unknownArgument(arg)","sourceCodeStart":51,"sourceCodeEnd":87,"githubUrl":"https://github.com/remix-run/remix/blob/9696913134be3a4423513d2775f7b31d6917c049/packages/cli/src/lib/parse-args.ts#L51-L87","documentation":"Thrown when a value-taking option is passed with `=` but the inline value is empty, e.g. `--port=`. The parser detects the option needs a value but the provided inline value has zero length, so it rejects it instead of storing an empty string.","triggerScenarios":"Passing `--option=` (nothing after the equals sign) for an option registered with a value type in the argument spec.","commonSituations":"Shell completion or scripts accidentally appending `=` without a value; copy-pasting a command where the value was dropped.","solutions":["Provide a value after `=`, e.g. `--port=3000`","Or use space-separated form: `--port 3000`"],"exampleFix":"# before\nremix dev --port=\n# after\nremix dev --port=3000","handlingStrategy":"validation","validationCode":"const args = process.argv.slice(2)\nconst bad = args.find((a) => a.startsWith('--') && a.endsWith('='))\nif (bad) throw new Error(`Empty value for ${bad}`)","typeGuard":"const hasEmptyInlineValue = (arg: string): boolean => arg.startsWith('--') && arg.length > 2 && arg.endsWith('=')","tryCatchPattern":null,"preventionTips":["Validate shell-built commands in scripts before spawning the CLI"],"tags":["cli","arguments","missing-value"],"backgroundTag":"invalid-cli-argument","analyzedSha":"9696913134be3a4423513d2775f7b31d6917c049","analyzedAt":"2026-08-27T19:55:01.024Z","schemaVersion":2},"datasetVersion":"2026-08-28T00:17:15.603Z"}