{"record":{"id":"259bb83cd5dcdf86","repo":"zeroclaw-labs/zeroclaw","slug":"plugins-entries-contains-a-duplicate-instance-key","errorCode":null,"errorMessage":"plugins.entries contains a duplicate instance key","messagePattern":"plugins\\.entries contains a duplicate instance key","errorType":"validation","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"crates/zeroclaw-config/src/schema.rs","lineNumber":10064,"sourceCode":"    false\n}\n\nconst MCP_MAX_TOOL_TIMEOUT_SECS: u64 = 600;\n\nfn validate_plugin_entries(config: &PluginsConfig) -> Result<()> {\n    let mut seen = std::collections::HashSet::new();\n    for (index, entry) in config.entries.iter().enumerate() {\n        let instance_key = entry.name.trim();\n        if instance_key.is_empty() {\n            anyhow::bail!(\"plugins.entries[{index}].name must not be empty\");\n        }\n        if instance_key != entry.name {\n            anyhow::bail!(\n                \"plugins.entries[{index}].name must not have leading or trailing whitespace\"\n            );\n        }\n        if !seen.insert(instance_key) {\n            anyhow::bail!(\"plugins.entries contains a duplicate instance key\");\n        }\n    }\n    Ok(())\n}\n\nfn validate_mcp_config(config: &McpConfig) -> Result<()> {\n    let mut seen_names = std::collections::HashSet::new();\n    for (i, server) in config.servers.iter().enumerate() {\n        let name = server.name.trim();\n        if name.is_empty() {\n            validation_bail!(\n                RequiredFieldEmpty,\n                format!(\"mcp.servers[{i}].name\"),\n                \"mcp.servers[{i}].name must not be empty\"\n            );\n        }\n        if !seen_names.insert(name.to_ascii_lowercase()) {\n            anyhow::bail!(\"mcp.servers contains duplicate name: {name}\");","sourceCodeStart":10046,"sourceCodeEnd":10082,"githubUrl":"https://github.com/zeroclaw-labs/zeroclaw/blob/88bb9c8533fc57ed7a03e36ca7c9ed2bf8336dcc/crates/zeroclaw-config/src/schema.rs#L10046-L10082","documentation":"Error \"plugins.entries contains a duplicate instance key\" thrown in zeroclaw-labs/zeroclaw.","triggerScenarios":"Thrown at crates/zeroclaw-config/src/schema.rs:10064 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Remove or rename duplicate plugin instance keys in the plugins.entries config."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"88bb9c8533fc57ed7a03e36ca7c9ed2bf8336dcc","analyzedAt":"2026-08-23T01:07:41.857Z","schemaVersion":2},"datasetVersion":"2026-08-23T08:06:27.607Z"}