{"record":{"id":"5ca2a981fbd87ec1","repo":"openai/codex","slug":"plugin-requires-marketplace-unless-passed-as-pl","errorCode":null,"errorMessage":"plugin requires --marketplace unless passed as <plugin>@<marketplace>","messagePattern":"plugin requires --marketplace unless passed as <plugin>@<marketplace>","errorType":"validation","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"codex-rs/cli/src/plugin_cmd.rs","lineNumber":644,"sourceCode":"    match (PluginId::parse(&plugin), marketplace_name) {\n        (Ok(plugin_id), None) => Ok(PluginSelection::from_plugin_id(plugin_id)),\n        (Ok(plugin_id), Some(marketplace_name)) => {\n            if plugin_id.marketplace_name != marketplace_name {\n                bail!(\n                    \"plugin id `{}` belongs to marketplace `{}`, but --marketplace specified `{}`\",\n                    plugin,\n                    plugin_id.marketplace_name,\n                    marketplace_name\n                );\n            }\n            Ok(PluginSelection::from_plugin_id(plugin_id))\n        }\n        (Err(_), Some(marketplace_name)) => Ok(PluginSelection::from_plugin_id(PluginId::new(\n            plugin,\n            marketplace_name,\n        )?)),\n        (Err(_), None) => {\n            bail!(\"plugin requires --marketplace unless passed as <plugin>@<marketplace>\")\n        }\n    }\n}\n\nfn find_marketplace_for_plugin(\n    manager: &PluginsManager,\n    codex_home: &std::path::Path,\n    plugins_input: &PluginsConfigInput,\n    marketplace_name: &str,\n    plugin_name: &str,\n) -> Result<ConfiguredMarketplace> {\n    let outcome = manager\n        .list_marketplaces_for_config(plugins_input, &[], /*include_openai_curated*/ true)\n        .context(\"failed to list marketplace plugins\")?;\n    ensure_configured_marketplace_snapshots_loaded(\n        codex_home,\n        plugins_input,\n        &outcome.errors,","sourceCodeStart":626,"sourceCodeEnd":662,"githubUrl":"https://github.com/openai/codex/blob/339751715c64496cb86246bfb3935f40e309dd3d/codex-rs/cli/src/plugin_cmd.rs#L626-L662","documentation":"Error \"plugin requires --marketplace unless passed as <plugin>@<marketplace>\" thrown in openai/codex.","triggerScenarios":"Thrown at codex-rs/cli/src/plugin_cmd.rs:644 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"339751715c64496cb86246bfb3935f40e309dd3d","analyzedAt":"2026-08-25T05:35:09.876Z","schemaVersion":2},"datasetVersion":"2026-08-25T06:17:31.827Z"}