{"record":{"id":"ed5ac9263dad96c0","repo":"xai-org/grok-build","slug":"marketplace-source-filter-not-found","errorCode":null,"errorMessage":"Marketplace source \"{filter}\" not found.","messagePattern":"Marketplace source \"(.+?)\" not found\\.","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/codegen/xai-grok-pager/src/plugin_cmd.rs","lineNumber":1098,"sourceCode":"                url,\n                branch.as_deref(),\n                cache_root,\n            ) {\n                Ok(_) => {\n                    println!(\"  {}: synced\", source.name);\n                    refreshed += 1;\n                }\n                Err(e) => errors.push(format!(\"{}: {e}\", source.name)),\n            }\n        }\n    }\n\n    if refreshed == 0 && errors.is_empty() {\n        if let Some(filter) = name {\n            if name_matched {\n                println!(\"Source \\\"{filter}\\\" is local, nothing to sync.\");\n            } else {\n                bail!(\"Marketplace source \\\"{filter}\\\" not found.\");\n            }\n        } else {\n            println!(\"No marketplace sources configured.\");\n        }\n    } else if errors.is_empty() {\n        println!(\"Refreshed {refreshed} source(s).\");\n    } else {\n        eprintln!(\n            \"Refreshed {refreshed} source(s) with {} error(s): {}\",\n            errors.len(),\n            errors.join(\"; \"),\n        );\n    }\n    Ok(())\n}\n\n#[cfg(test)]\nmod tests {","sourceCodeStart":1080,"sourceCodeEnd":1116,"githubUrl":"https://github.com/xai-org/grok-build/blob/bc7f02eddd3d84085849dc19ed216f11c23b0571/crates/codegen/xai-grok-pager/src/plugin_cmd.rs#L1080-L1116","documentation":"The marketplace `update` command filters sources by name. If no source was refreshed, no errors occurred, and a name filter was given that matched no source (name_matched is false), the command bails with this message. It distinguishes local sources (which need no sync) from genuinely unknown filter names.","triggerScenarios":"Running `grok marketplace update <filter>` where no refreshed==0 && errors.is_empty() holds and the filter does not match any configured source name — i.e., a typo or a removed source name.","commonSituations":"Typo in the source name; source was removed but a script still references it; case mismatch in the filter string.","solutions":["Check the exact source name with `grok marketplace list` and re-run update with the correct filter.","Omit the filter to update all configured sources.","Update stale scripts that reference removed marketplace sources."],"exampleFix":"// before\ngrok marketplace update my-markeplace\n// after\ngrok marketplace list\ngrok marketplace update my-marketplace","handlingStrategy":"validation","validationCode":"let name = \"my-marketplace\";\nlet listed = std::process::Command::new(\"grok\")\n    .args([\"marketplace\", \"list\"])\n    .output()?;\nif !String::from_utf8_lossy(&listed.stdout).contains(name) {\n    eprintln!(\"filter {name} matches no source; skipping update\");\n    return Ok(());\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Copy source names from `grok marketplace list` output rather than typing them.","Update scripts when sources are renamed or removed.","Omit the filter to update all sources when unsure."],"tags":["cli","not-found","marketplace"],"backgroundTag":"resource-not-found","analyzedSha":"bc7f02eddd3d84085849dc19ed216f11c23b0571","analyzedAt":"2026-08-31T04:59:42.031Z","schemaVersion":2},"datasetVersion":"2026-08-31T09:17:48.483Z"}