gravitational/teleport · error

FIDO2 unavailable in current build

Error message

FIDO2 unavailable in current build

What it means

Build-time sentinel used in the non-libfido2 build of webauthncli (fido2_other.go): fido2Login and fido2Register are stubs that immediately return it, indicating the binary was compiled without FIDO2/security-key support.

Source

Thrown at lib/auth/webauthncli/fido2_other.go:31

 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Affero General Public License for more details.
 *
 * You should have received a copy of the GNU Affero General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

package webauthncli

import (
	"context"
	"errors"

	"github.com/gravitational/teleport/api/client/proto"
	wantypes "github.com/gravitational/teleport/lib/auth/webauthntypes"
)

var errFIDO2Unavailable = errors.New("FIDO2 unavailable in current build")

// isLibfido2Enabled returns true if libfido2 is available in the current build.
func isLibfido2Enabled() bool {
	return false
}

func fido2Login(
	ctx context.Context,
	origin string, assertion *wantypes.CredentialAssertion, prompt LoginPrompt, opts *LoginOpts,
) (*proto.MFAAuthenticateResponse, string, error) {
	return nil, "", errFIDO2Unavailable
}

func fido2Register(
	ctx context.Context,
	origin string, cc *wantypes.CredentialCreation, prompt RegisterPrompt,
) (*proto.MFARegisterResponse, error) {
	return nil, errFIDO2Unavailable

View on GitHub (pinned to 1283425b60)

Solutions

  1. Use a Teleport build compiled with libfido2 support (libfido2-enabled packages)
  2. Use a different authenticator type, e.g. WebAuthn with a browser/platform authenticator, or OTP
Defensive patterns

Strategy: type-guard

When it happens

Trigger: Thrown at lib/auth/webauthncli/fido2_other.go:31 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of gravitational/teleport@1283425b60 (2026-09-02). Data as JSON: /api/errors/2f4ea52f16ff14e7. Report an issue: GitHub.