{"record":{"id":"a84c2d50f3f50cea","repo":"nikivdev/code","slug":"unknown-f-pr-preview-option-token","errorCode":null,"errorMessage":"unknown `f pr preview` option: {token}","messagePattern":"unknown `f pr preview` option: (.+?)","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/pr_preview.rs","lineNumber":304,"sourceCode":"                };\n                mode = parse_mode_arg(value)?;\n                index += 2;\n            }\n            \"--base\" => {\n                let Some(value) = args.get(index + 1) else {\n                    bail!(\"`f pr preview --base` requires a value\");\n                };\n                requested_base = value.clone();\n                index += 2;\n            }\n            \"--path\" => {\n                let Some(value) = args.get(index + 1) else {\n                    bail!(\"`f pr preview --path` requires a value\");\n                };\n                repo_path = Some(PathBuf::from(value));\n                index += 2;\n            }\n            token => bail!(\"unknown `f pr preview` option: {token}\"),\n        }\n    }\n\n    Ok(Some(PrPreviewCommand {\n        repo_path,\n        requested_base,\n        mode,\n        json,\n    }))\n}\n\nfn parse_mode_arg(value: &str) -> Result<PrPreviewModeArg> {\n    match value.trim().to_ascii_lowercase().as_str() {\n        \"draft\" => Ok(PrPreviewModeArg::Draft),\n        \"feedback\" => Ok(PrPreviewModeArg::Feedback),\n        other => bail!(\"unsupported `f pr preview --mode` value: {other}\"),\n    }\n}","sourceCodeStart":286,"sourceCodeEnd":322,"githubUrl":"https://github.com/nikivdev/code/blob/a747e741ae92c09071d0ae946ab48488adcff1ce/src/pr_preview.rs#L286-L322","documentation":"The `f pr preview` argument parser only accepts --json, --mode, --base, and --path. Any other token reaches the catch-all arm of the match and produces this error naming the unrecognized token.","triggerScenarios":"Passing an unsupported flag such as `f pr preview --help-me`, a misspelled flag like `--mod`, or a stray positional argument.","commonSituations":"Typo'd flags; options valid for other `f` subcommands but not preview; leftover positional args from a different command's syntax.","solutions":["Use only supported flags: --json, --mode, --base, --path","Check spelling of the flag (the offending token is named in the message)","Run the command without extra positional arguments"],"exampleFix":"// before\nf pr preview --mde draft\n// after\nf pr preview --mode draft","handlingStrategy":"validation","validationCode":"const ALLOWED: [&str; 4] = [\"--json\", \"--mode\", \"--base\", \"--path\"];\nfor a in &args {\n    if a.starts_with(\"--\") && !ALLOWED.contains(&a.as_str()) {\n        anyhow::bail!(\"unsupported flag: {a}\");\n    }\n}","typeGuard":null,"tryCatchPattern":"if let Err(e) = run_pr_preview(cmd) {\n    if e.to_string().starts_with(\"unknown `f pr preview` option\") {\n        eprintln!(\"Supported flags: --json --mode --base --path\");\n    }\n}","preventionTips":["Only use --json, --mode, --base, --path with this subcommand","Don't copy flags from other `f` subcommands","Check flag spelling before running"],"tags":["cli","argument-parsing","pr"],"backgroundTag":"unknown-cli-flag","analyzedSha":"a747e741ae92c09071d0ae946ab48488adcff1ce","analyzedAt":"2026-09-01T22:43:55.719Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}