{"record":{"id":"39247403d1538403","repo":"openai/codex","slug":"unsupported-global-wildcard-domain-pattern-us","errorCode":null,"errorMessage":"unsupported global wildcard domain pattern \"*\"; use exact hosts or scoped wildcards like *.example.com or **.example.com","messagePattern":"unsupported global wildcard domain pattern \"\\*\"; use exact hosts or scoped wildcards like \\*\\.example\\.com or \\*\\*\\.example\\.com","errorType":"validation","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"codex-rs/network-proxy/src/policy.rs","lineNumber":201,"sourceCode":"}\n\npub(crate) fn compile_allowlist_globset(patterns: &[String]) -> Result<GlobSet> {\n    compile_globset_with_policy(patterns, GlobalWildcard::Allow)\n}\n\npub(crate) fn compile_denylist_globset(patterns: &[String]) -> Result<GlobSet> {\n    compile_globset_with_policy(patterns, GlobalWildcard::Reject)\n}\n\nfn compile_globset_with_policy(\n    patterns: &[String],\n    global_wildcard: GlobalWildcard,\n) -> Result<GlobSet> {\n    let mut builder = GlobSetBuilder::new();\n    let mut seen = HashSet::new();\n    for pattern in patterns {\n        if global_wildcard == GlobalWildcard::Reject && is_global_wildcard_domain_pattern(pattern) {\n            bail!(\n                \"unsupported global wildcard domain pattern \\\"*\\\"; use exact hosts or scoped wildcards like *.example.com or **.example.com\"\n            );\n        }\n        let pattern = normalize_pattern(pattern);\n        // Supported domain patterns:\n        // - \"example.com\": match the exact host\n        // - \"*.example.com\": match any subdomain (not the apex)\n        // - \"**.example.com\": match the apex and any subdomain\n        // - \"*\": match every host when explicitly enabled for allowlist compilation\n        for candidate in expand_domain_pattern(&pattern) {\n            if !seen.insert(candidate.clone()) {\n                continue;\n            }\n            let glob = GlobBuilder::new(&candidate)\n                .case_insensitive(true)\n                .build()\n                .with_context(|| format!(\"invalid glob pattern: {candidate}\"))?;\n            builder.add(glob);","sourceCodeStart":183,"sourceCodeEnd":219,"githubUrl":"https://github.com/openai/codex/blob/339751715c64496cb86246bfb3935f40e309dd3d/codex-rs/network-proxy/src/policy.rs#L183-L219","documentation":"Error \"unsupported global wildcard domain pattern \"*\"; use exact hosts or scoped wildcards like *.example.com or **.example.com\" thrown in openai/codex.","triggerScenarios":"Thrown at codex-rs/network-proxy/src/policy.rs:201 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"}