{"record":{"id":"d583ee59e8f56997","repo":"openai/codex","slug":"plugin-plugin-name-in-marketplace-marketplac","errorCode":null,"errorMessage":"plugin `{plugin_name}` in marketplace `{marketplace_name}` matched multiple marketplace roots","messagePattern":"plugin `(.+?)` in marketplace `(.+?)` matched multiple marketplace roots","errorType":"validation","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"codex-rs/cli/src/plugin_cmd.rs","lineNumber":680,"sourceCode":"        &outcome.errors,\n        Some(marketplace_name),\n    )?;\n    let matches = outcome\n        .marketplaces\n        .into_iter()\n        .filter(|marketplace| marketplace.name == marketplace_name)\n        .filter(|marketplace| {\n            marketplace\n                .plugins\n                .iter()\n                .any(|plugin| plugin.name == plugin_name)\n        })\n        .collect::<Vec<_>>();\n\n    match matches.as_slice() {\n        [] => bail!(\"plugin `{plugin_name}` was not found in marketplace `{marketplace_name}`\"),\n        [marketplace] => Ok(marketplace.clone()),\n        _ => bail!(\n            \"plugin `{plugin_name}` in marketplace `{marketplace_name}` matched multiple marketplace roots\"\n        ),\n    }\n}\n\npub(crate) struct ConfiguredMarketplaceSnapshotIssue {\n    pub(crate) marketplace_name: String,\n    pub(crate) path: PathBuf,\n    pub(crate) message: String,\n}\n\nfn ensure_configured_marketplace_snapshots_loaded(\n    codex_home: &std::path::Path,\n    plugins_input: &PluginsConfigInput,\n    load_errors: &[MarketplaceListError],\n    marketplace_name: Option<&str>,\n) -> Result<()> {\n    let issues = configured_marketplace_snapshot_issues(","sourceCodeStart":662,"sourceCodeEnd":698,"githubUrl":"https://github.com/openai/codex/blob/339751715c64496cb86246bfb3935f40e309dd3d/codex-rs/cli/src/plugin_cmd.rs#L662-L698","documentation":"Error \"plugin `{plugin_name}` in marketplace `{marketplace_name}` matched multiple marketplace roots\" thrown in openai/codex.","triggerScenarios":"Thrown at codex-rs/cli/src/plugin_cmd.rs:680 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"}