AlistGo/alist · error
webauthn not support
Error message
webauthn not support
What it means
CloudreveV4 login prepare step reported WebauthnEnabled == true. The driver has no WebAuthn implementation (no passkey hardware flow is possible from a headless driver), so it refuses to continue rather than fail later.
Source
Thrown at drivers/cloudreve_v4/util.go:110
func (d *CloudreveV4) login() error {
var siteConfig SiteLoginConfigResp
err := d.request(http.MethodGet, "/site/config/login", nil, &siteConfig)
if err != nil {
return err
}
if !siteConfig.Authn {
return errors.New("authn not support")
}
var prepareLogin PrepareLoginResp
err = d.request(http.MethodGet, "/session/prepare?email="+d.Addition.Username, nil, &prepareLogin)
if err != nil {
return err
}
if !prepareLogin.PasswordEnabled {
return errors.New("password not enabled")
}
if prepareLogin.WebauthnEnabled {
return errors.New("webauthn not support")
}
for range 5 {
err = d.doLogin(siteConfig.LoginCaptcha)
if err == nil {
break
}
if err.Error() != "CAPTCHA not match." {
break
}
}
return err
}
func (d *CloudreveV4) doLogin(needCaptcha bool) error {
var err error
loginBody := base.Json{
"email": d.Username,
"password": d.Password,View on GitHub (pinned to 843d9dc814)
Solutions
- Disable WebAuthn requirement for the account/site in Cloudrebve V4 settings if password API login is desired.
- Use an account without WebAuthn enrollment for the mount.
- Track driver updates — WebAuthn support may be added later; until then this combination cannot work.
- Verify with GET /session/prepare what flags the server actually reports.
Defensive patterns
Strategy: validation
Validate before calling
if prepareLogin.WebauthnEnabled {
return errors.New("webauthn not support — disable WebAuthn enforcement for this account")
} Type guard
func siteNeedsWebauthn(p PrepareLoginResp) bool { return p.WebauthnEnabled } Try / catch
if err := d.login(); err != nil {
if err.Error() == "webauthn not support" {
return errors.New("site enforces WebAuthn; this driver cannot authenticate — disable it or use another account")
}
return err
} Prevention
- Avoid WebAuthn-enforced accounts for headless drivers
- Watch driver releases for WebAuthn support
- Prefer dedicated non-passkey service accounts
When it happens
Trigger: prepareLogin.WebauthnEnabled is true — the site/account requires or offers WebAuthn. Even when password login is also enabled, this driver treats a WebAuthn-enabled site as unsupported.
Common situations: Site-wide passkey enforcement; account enrolled in passkeys; newer V4 default enabling WebAuthn.
Related errors
AI-assisted analysis of AlistGo/alist@843d9dc814 (2026-08-15).
Data as JSON: /api/errors/e14feba6b27a2200.
Report an issue: GitHub.