---
"@context": https://schema.org
"@type": TechArticle
"@id": https://www.twilio.com/docs/api/errors/60377#article
headline: "60377: Authenticator attachment invalid or not provided"
url: https://www.twilio.com/docs/api/errors/60377
inLanguage: en
dateModified: 2026-06-08T12:04:59.000Z
author:
  "@type": Organization
  name: Twilio Developer Education Team
publisher:
  "@type": Organization
  name: Twilio
---

# 60377: Authenticator attachment invalid or not provided

Log Type: APPLICATION

Log Level: ERROR

## Description

This error occurs when Verify Passkeys receives a request without a valid `authenticatorAttachment` value. Send the `authenticatorAttachment` returned in the WebAuthn `credential` object when you verify a Passkey factor or approve a Passkeys challenge. For those requests, Verify accepts only `platform` or `cross-platform`.

### Possible causes

* Your request to `VerifyFactor` or `ApproveChallenge` does not include the required `authenticatorAttachment` field.
* Your request includes an unsupported value for `authenticatorAttachment`. For Passkey verification and challenge approval, supported values are `platform` and `cross-platform`.
* You sent `any` in the credential payload. `any` is allowed in Passkeys service or factor configuration, but it is not a valid value in the WebAuthn credential payload you send to `VerifyFactor` or `ApproveChallenge`.
* You rebuilt or filtered the browser `credential` object before sending it to Verify, and the `authenticatorAttachment` property was removed or renamed. The Passkeys quickstart shows `authenticatorAttachment` as part of the generated credential and instructs you to pass that copied JSON object to the Verify endpoint.

### Possible solutions

* Send the full browser `credential` object returned by `navigator.credentials.create()` or `navigator.credentials.get()` as JSON when you call `VerifyFactor` or `ApproveChallenge`.
* Validate that `authenticatorAttachment` is present before you send the request. Do not omit the field in registration or authentication payloads.
* Make sure the value is exactly `platform` or `cross-platform` when you submit the credential payload.
* If your Passkeys service or factor configuration uses `any`, keep that value only in configuration fields such as `Passkeys.AuthenticatorAttachment` or `config.authenticator_attachment`. Do not send `any` as the credential's `authenticatorAttachment`.
* Follow the Passkeys quickstart flow to create the factor or challenge, generate the credential in the browser, and then submit that copied credential object to Verify without changing field names.

#### Additional resources

* [Verify Passkeys quickstart](/docs/verify/quickstarts/passkeys)
* [Passkeys Factor resource](/docs/verify/api/passkeys-factor)
* [Passkeys Challenge resource](/docs/verify/api/passkeys-challenge)
