{"record":{"id":"21163d00fd39b845","repo":"Kuberwastaken/claurst","slug":"version-requires-an-argument","errorCode":null,"errorMessage":"--version requires an argument","messagePattern":"--version requires an argument","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src-rust/crates/cli/src/upgrade.rs","lineNumber":32,"sourceCode":"\nconst REPO: &str = \"Kuberwastaken/claurst\";\nconst APP: &str = \"claurst\";\n\npub async fn run_upgrade(args: &[String]) -> Result<()> {\n    // -------- arg parsing --------\n    let mut requested_version: Option<String> = None;\n    let mut force = false;\n    let mut iter = args.iter();\n    while let Some(arg) = iter.next() {\n        match arg.as_str() {\n            \"-h\" | \"--help\" => {\n                print_help();\n                return Ok(());\n            }\n            \"-v\" | \"--version\" => {\n                requested_version = iter.next().cloned();\n                if requested_version.is_none() {\n                    bail!(\"--version requires an argument\");\n                }\n            }\n            \"--force\" | \"-f\" => force = true,\n            unknown => bail!(\"Unknown option: {}\", unknown),\n        }\n    }\n\n    let current_version = env!(\"CARGO_PKG_VERSION\").to_string();\n    println!(\"Current version: {}\", current_version);\n\n    // -------- detect target --------\n    let target = detect_target()?;\n    println!(\"Detected target: {}\", target);\n\n    // -------- resolve target version --------\n    let target_version = if let Some(v) = requested_version {\n        v.trim_start_matches('v').to_string()\n    } else {","sourceCodeStart":14,"sourceCodeEnd":50,"githubUrl":"https://github.com/Kuberwastaken/claurst/blob/b0637c97ec34144387cbf2f74f65df6d16a6cef1/src-rust/crates/cli/src/upgrade.rs#L14-L50","documentation":"Fired by the upgrade subcommand's argument parser when the `-v`/`--version` flag is passed as the last argument, so the iterator has no following token to consume as the requested version. The flag is defined to take a mandatory value (a release tag such as `v1.2.3`); without it the parser cannot resolve which release to download, so it aborts with a validation error instead of silently upgrading to latest. Not a runtime or network failure — purely a command-line usage error.","triggerScenarios":"Thrown at src-rust/crates/cli/src/upgrade.rs:32 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Pass an explicit version: `claurst upgrade --version 1.2.3`","Omit the flag entirely to upgrade to the latest release","Run `claurst upgrade --help` for usage"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"b0637c97ec34144387cbf2f74f65df6d16a6cef1","analyzedAt":"2026-09-10T00:24:58.650Z","contentChangedAt":"2026-09-10T00:24:58.650Z","schemaVersion":2},"datasetVersion":"2026-09-16T04:17:20.429Z"}