For advanced use cases where Amplify does not provide the functionality you're looking for, you can retrieve the escape hatch to access the underlying SDK. import ios0 from "/src/fragments/lib/ios-escape-hatch-warning.mdx"; The escape hatch provides access to the underlying `AWSCognitoIdentityProvider` instance. Import the necessary types: ```swift import AWSCognitoAuthPlugin import AWSCognitoIdentityProvider ``` Then retrieve the escape hatch with this code: ```swift func getEscapeHatch() { let client: CognitoIdentityProviderClient // Get the instance of AWSCognitoAuthPlugin let plugin = try? Amplify.Auth.getPlugin(for: "awsCognitoAuthPlugin") as? AWSCognitoAuthPlugin // Get the instance of CognitoIdentityProviderClient if case .userPoolAndIdentityPool(let userPoolClient, _) = plugin?.getEscapeHatch() { client = userPoolClient } else if case .userPool(let userPoolClient) = plugin?.getEscapeHatch() { client = userPoolClient } else { fatalError("No user pool configuration found") } print("Fetched escape hatch - \(String(describing: client))") } ```