{"record":{"id":"c7d4467cc1eeb68a","repo":"openai/codex","slug":"invalid-server-name-name-use-letters-numbers","errorCode":null,"errorMessage":"invalid server name '{name}' (use letters, numbers, '-', '_')","messagePattern":"invalid server name '(.+?)' \\(use letters, numbers, '-', '_'\\)","errorType":"validation","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"codex-rs/cli/src/mcp_cmd.rs","lineNumber":1091,"sourceCode":"        .ok_or_else(|| \"environment entries must be in KEY=VALUE form\".to_string())?;\n    let value = parts\n        .next()\n        .map(str::to_string)\n        .ok_or_else(|| \"environment entries must be in KEY=VALUE form\".to_string())?;\n\n    Ok((key.to_string(), value))\n}\n\nfn validate_server_name(name: &str) -> Result<()> {\n    let is_valid = !name.is_empty()\n        && name\n            .chars()\n            .all(|c| c.is_ascii_alphanumeric() || c == '-' || c == '_');\n\n    if is_valid {\n        Ok(())\n    } else {\n        bail!(\"invalid server name '{name}' (use letters, numbers, '-', '_')\");\n    }\n}\n\nfn format_mcp_status(config: &McpServerConfig) -> String {\n    if config.enabled {\n        \"enabled\".to_string()\n    } else if let Some(reason) = config.disabled_reason.as_ref() {\n        format!(\"disabled: {reason}\")\n    } else {\n        \"disabled\".to_string()\n    }\n}\n","sourceCodeStart":1073,"sourceCodeEnd":1104,"githubUrl":"https://github.com/openai/codex/blob/339751715c64496cb86246bfb3935f40e309dd3d/codex-rs/cli/src/mcp_cmd.rs#L1073-L1104","documentation":"Error \"invalid server name '{name}' (use letters, numbers, '-', '_')\" thrown in openai/codex.","triggerScenarios":"Thrown at codex-rs/cli/src/mcp_cmd.rs:1091 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"}