{"record":{"id":"83009e1276aa6b90","repo":"openai/codex","slug":"chatgpt-connectors-require-codex-backend-auth","errorCode":null,"errorMessage":"ChatGPT connectors require Codex backend auth","messagePattern":"ChatGPT connectors require Codex backend auth","errorType":"exception","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"codex-rs/chatgpt/src/connectors.rs","lineNumber":51,"sourceCode":"const DEFAULT_APPS_PRODUCT_SKU: &str = \"codex\";\n\nasync fn apps_enabled(config: &Config) -> anyhow::Result<bool> {\n    let auth_manager =\n        AuthManager::shared_from_config(config, /*enable_codex_api_key_env*/ false).await?;\n    let auth = auth_manager.auth().await;\n    Ok(config\n        .features\n        .apps_enabled_for_auth(auth.as_ref().is_some_and(CodexAuth::uses_codex_backend)))\n}\n\nasync fn connector_auth(config: &Config) -> anyhow::Result<CodexAuth> {\n    let auth_manager =\n        AuthManager::shared_from_config(config, /*enable_codex_api_key_env*/ false).await?;\n    let auth = auth_manager\n        .auth()\n        .await\n        .ok_or_else(|| anyhow::anyhow!(\"ChatGPT auth not available\"))?;\n    anyhow::ensure!(\n        auth.uses_codex_backend(),\n        \"ChatGPT connectors require Codex backend auth\"\n    );\n    Ok(auth)\n}\n\npub async fn list_connectors(config: &Config) -> anyhow::Result<Vec<AppInfo>> {\n    if !apps_enabled(config).await? {\n        return Ok(Vec::new());\n    }\n    let (connectors_result, accessible_result) = tokio::join!(\n        list_all_connectors(config),\n        list_accessible_connectors_from_mcp_tools(config),\n    );\n    let connectors = connectors_result?;\n    let accessible = accessible_result?;\n    Ok(\n        AppToolPolicyEvaluator::new(&config.config_layer_stack).apply_app_enabled_state(","sourceCodeStart":33,"sourceCodeEnd":69,"githubUrl":"https://github.com/openai/codex/blob/339751715c64496cb86246bfb3935f40e309dd3d/codex-rs/chatgpt/src/connectors.rs#L33-L69","documentation":"Error \"ChatGPT connectors require Codex backend auth\" thrown in openai/codex.","triggerScenarios":"Thrown at codex-rs/chatgpt/src/connectors.rs:51 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"}