{"record":{"id":"5c38b9c94139a194","repo":"Hmbown/CodeWhale","slug":"invalid-set-provider-value-omitted","errorCode":null,"errorMessage":"invalid --set provider (value omitted)","messagePattern":"invalid --set provider \\(value omitted\\)","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/cli/src/lib.rs","lineNumber":1902,"sourceCode":"    }\n    explicit_path\n}\n\n/// Runtime `--set` uses the dedicated flag handoff, so the existing loader\n/// owns profile, provider, managed-policy and requirements precedence. Keep\n/// config read/write commands on their separate, never-saved store overlay.\nfn apply_runtime_set_overrides(cli: &mut Cli) -> Result<()> {\n    let mut values = CliRuntimeOverrides::default();\n    let mut provider = None;\n    for spec in &cli.overrides {\n        let (key, value) = spec\n            .split_once('=')\n            .context(\"invalid --set: expected KEY=VALUE (value omitted)\")?;\n        match key.trim() {\n            \"provider\" => {\n                provider = Some(\n                    parse_provider_identifier(value)\n                        .map_err(|_| anyhow!(\"invalid --set provider (value omitted)\"))?,\n                );\n            }\n            \"model\" | \"default_text_model\" => values.model = Some(value.to_string()),\n            \"verbosity\" => values.verbosity = Some(value.to_string()),\n            \"approval_policy\" => values.approval_policy = Some(value.to_string()),\n            \"sandbox_mode\" => values.sandbox_mode = Some(value.to_string()),\n            \"telemetry\" => {\n                let mut config = ConfigToml::default();\n                config\n                    .set_value(\"telemetry\", value)\n                    .map_err(|_| anyhow!(\"invalid --set telemetry: expected a boolean\"))?;\n                values.telemetry = config.telemetry;\n            }\n            _ => bail!(\n                \"unsupported runtime --set key (value omitted): supported keys are provider, \\\n                 model, default_text_model, verbosity, approval_policy, sandbox_mode and \\\n                 telemetry; use the dedicated option or config set for other keys\"\n            ),","sourceCodeStart":1884,"sourceCodeEnd":1920,"githubUrl":"https://github.com/Hmbown/CodeWhale/blob/73e0f67d83c59909b571efdfc88c4bc28c309cb1/crates/cli/src/lib.rs#L1884-L1920","documentation":"`--set provider=...` requires a value after the `=`. split_once('=') fails when no '=' or no value is present; once a value exists it must parse as a known provider identifier via parse_provider_identifier, otherwise this error is thrown (message text mentions 'value omitted' but it also fires on unparseable provider names).","triggerScenarios":"Running `codewhale ... --set provider` (no '='), `--set provider=` (empty value), or `--set provider=not-a-provider` with an unrecognized identifier.","commonSituations":"Typo'd provider name, forgetting the value entirely, or using a legacy/renamed provider id after a version change.","solutions":["Supply the full form: --set provider=<valid-provider-id>","Check `codewhale provider list` (or config docs) for the exact accepted identifiers","Fix typos (e.g. 'antigrvity' -> correct id)","Use the dedicated provider option or `config set` for non-runtime keys"],"exampleFix":"// before\n$ codewhale --set provider myprovider\n// after\n$ codewhale --set provider=openai","handlingStrategy":"validation","validationCode":"// shell-side guard before invoking\n[[ \"$setval\" == provider=* && -n \"${setval#provider=}\" ]] || { echo \"usage: --set provider=<id>\"; exit 2; }","typeGuard":null,"tryCatchPattern":"match cli.run() {\n    Err(e) if e.to_string().starts_with(\"invalid --set provider\") => {\n        eprintln!(\"use --set provider=<valid-id>; see `codewhale provider list`\");\n    }\n    other => other?,\n}","preventionTips":["Always use KEY=VALUE form with a non-empty value for --set","Validate provider ids against `codewhale provider list` output in scripts","Quote the whole --set argument when values may contain shell metacharacters"],"tags":["cli","arguments","config"],"backgroundTag":"invalid-cli-argument","analyzedSha":"73e0f67d83c59909b571efdfc88c4bc28c309cb1","analyzedAt":"2026-09-22T01:30:00.501Z","contentChangedAt":"2026-09-22T01:30:00.501Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}