{"record":{"id":"8be307cfd018eced","repo":"openai/codex","slug":"failed-to-delete-oauth-credentials-err","errorCode":null,"errorMessage":"failed to delete OAuth credentials: {err}","messagePattern":"failed to delete OAuth credentials: (.+?)","errorType":"exception","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"codex-rs/cli/src/mcp_cmd.rs","lineNumber":625,"sourceCode":"    let server = mcp_servers\n        .get(&name)\n        .ok_or_else(|| anyhow!(\"No MCP server named '{name}' found in configuration.\"))?;\n\n    let url = match &server.transport {\n        McpServerTransportConfig::StreamableHttp { url, .. } => url.clone(),\n        _ => bail!(\"OAuth logout is only supported for streamable_http transports.\"),\n    };\n    let credential_name = server.oauth_credential_name(&name);\n\n    match delete_oauth_tokens(\n        credential_name.as_ref(),\n        &url,\n        config.mcp_oauth_credentials_store_mode,\n        config.auth_keyring_backend_kind(),\n    ) {\n        Ok(true) => println!(\"Removed OAuth credentials for '{name}'.\"),\n        Ok(false) => println!(\"No OAuth credentials stored for '{name}'.\"),\n        Err(err) => return Err(anyhow!(\"failed to delete OAuth credentials: {err}\")),\n    }\n\n    Ok(())\n}\n\nasync fn run_list(config: &Config, list_args: ListArgs) -> Result<()> {\n    let mcp_manager = load_mcp_manager(config).await?;\n    let auth_manager =\n        AuthManager::shared_from_config(config, /*enable_codex_api_key_env*/ true).await?;\n    let auth = auth_manager.auth().await;\n    let mcp_servers = mcp_manager.configured_servers(config).await;\n    let effective_mcp_servers = mcp_manager.effective_servers(config, auth.as_ref()).await;\n\n    let mut entries: Vec<_> = mcp_servers.iter().collect();\n    entries.sort_by_key(|(name, _)| *name);\n    // Standalone `mcp list` only discovers auth through local HTTP; it has\n    // never initialized or routed through remote execution environments.\n    let runtime_context = McpRuntimeContext::new(","sourceCodeStart":607,"sourceCodeEnd":643,"githubUrl":"https://github.com/openai/codex/blob/339751715c64496cb86246bfb3935f40e309dd3d/codex-rs/cli/src/mcp_cmd.rs#L607-L643","documentation":"Error \"failed to delete OAuth credentials: {err}\" thrown in openai/codex.","triggerScenarios":"Thrown at codex-rs/cli/src/mcp_cmd.rs:625 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"}