openai/codex · error · std::io::Error
failed to deserialize agent role file at {}: {err}
Error message
failed to deserialize agent role file at {}: {err} What it means
Error "failed to deserialize agent role file at {}: {err}" thrown in openai/codex.
Source
Thrown at codex-rs/core/src/config/agent_roles.rs:251
pub(crate) fn parse_agent_role_file_contents(
contents: &str,
role_file_label: &Path,
config_base_dir: &Path,
role_name_hint: Option<&str>,
) -> std::io::Result<ResolvedAgentRoleFile> {
let role_file_toml: TomlValue = toml::from_str(contents).map_err(|err| {
std::io::Error::new(
std::io::ErrorKind::InvalidData,
format!(
"failed to parse agent role file at {}: {err}",
role_file_label.display()
),
)
})?;
let _guard = AbsolutePathBufGuard::new(config_base_dir);
let parsed: RawAgentRoleFileToml = role_file_toml.clone().try_into().map_err(|err| {
std::io::Error::new(
std::io::ErrorKind::InvalidData,
format!(
"failed to deserialize agent role file at {}: {err}",
role_file_label.display()
),
)
})?;
let description = normalize_agent_role_description(
&format!("agent role file {}.description", role_file_label.display()),
parsed.description.as_deref(),
)?;
validate_agent_role_file_developer_instructions(
role_file_label,
parsed.config.developer_instructions.as_deref(),
role_name_hint.is_none(),
)?;
let role_name = parsedView on GitHub (pinned to 339751715c)
Solutions
- Fix the agent role file fields to match the expected schema.
When it happens
Trigger: Thrown at codex-rs/core/src/config/agent_roles.rs:251 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of openai/codex@339751715c (2026-08-25).
Data as JSON: /api/errors/1a353e52f0027edc.
Report an issue: GitHub.