{"record":{"id":"3a112f89ed8684be","repo":"openai/codex","slug":"duplicate-agent-role-name-role-name-declared-i","errorCode":null,"errorMessage":"duplicate agent role name `{role_name}` declared in the same config layer","messagePattern":"duplicate agent role name `(.+?)` declared in the same config layer","errorType":"validation","errorClass":"std::io::Error","httpStatus":null,"severity":"error","filePath":"codex-rs/core/src/config/agent_roles.rs","lineNumber":59,"sourceCode":"            }\n        };\n        if let Some(agents_toml) = agents_toml {\n            for (declared_role_name, role_toml) in &agents_toml.roles {\n                let (role_name, role) =\n                    match read_declared_role(fs, declared_role_name, role_toml).await {\n                        Ok(role) => role,\n                        Err(err) => {\n                            push_agent_role_warning(startup_warnings, err);\n                            continue;\n                        }\n                    };\n                if let Some(config_file) = role.config_file.clone() {\n                    declared_role_files.insert(config_file);\n                }\n                if layer_roles.contains_key(&role_name) {\n                    push_agent_role_warning(\n                        startup_warnings,\n                        std::io::Error::new(\n                            std::io::ErrorKind::InvalidInput,\n                            format!(\n                                \"duplicate agent role name `{role_name}` declared in the same config layer\"\n                            ),\n                        ),\n                    );\n                    continue;\n                }\n                layer_roles.insert(role_name, role);\n            }\n        }\n\n        if let Some(config_folder) = layer.config_folder() {\n            for (role_name, role) in discover_agent_roles_in_dir(\n                fs,\n                &config_folder.join(\"agents\"),\n                &declared_role_files,\n                startup_warnings,","sourceCodeStart":41,"sourceCodeEnd":77,"githubUrl":"https://github.com/openai/codex/blob/339751715c64496cb86246bfb3935f40e309dd3d/codex-rs/core/src/config/agent_roles.rs#L41-L77","documentation":"Error \"duplicate agent role name `{role_name}` declared in the same config layer\" thrown in openai/codex.","triggerScenarios":"Thrown at codex-rs/core/src/config/agent_roles.rs:59 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Remove or rename the duplicate agent role within the same config layer."],"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"}