m1k1o/neko · error
cannot delete user in noauth mode
Error message
cannot delete user in noauth mode
What it means
Returned by MemberProviderCtx.Delete in the noauth member provider when a caller attempts to delete a user by ID. In noauth mode there is no persistent user store, so delete operations are unsupported and always fail with this error.
Source
Thrown at server/internal/member/noauth/provider.go:74
func (provider *MemberProviderCtx) UpdateProfile(id string, profile types.MemberProfile) error {
return nil
}
func (provider *MemberProviderCtx) UpdatePassword(id string, password string) error {
return errors.New("noauth mode does not have password")
}
func (provider *MemberProviderCtx) Select(id string) (types.MemberProfile, error) {
return types.MemberProfile{}, errors.New("cannot select user in noauth mode")
}
func (provider *MemberProviderCtx) SelectAll(limit int, offset int) (map[string]types.MemberProfile, error) {
return map[string]types.MemberProfile{}, nil
}
func (provider *MemberProviderCtx) Delete(id string) error {
return errors.New("cannot delete user in noauth mode")
}
View on GitHub (pinned to b0f01cedea)
Solutions
- Do not call Delete in noauth mode; there are no users to delete.
- Switch to multiuser or another dynamic provider if user lifecycle management is required.
- Skip delete operations in client tooling when provider is noauth.
Example fix
// before
err := memberClient.Delete(id)
// after
if memberProvider == "noauth" {
return errors.New("no users exist to delete in noauth mode")
}
err := memberClient.Delete(id) Defensive patterns
Strategy: validation
Validate before calling
if memberProvider == "noauth" {
return errors.New("no users to delete in noauth mode")
}
err := memberClient.Delete(id) Type guard
func isNoauthUnsupportedErr(err error) bool {
return err != nil && strings.Contains(err.Error(), "in noauth mode")
} Try / catch
err := memberClient.Delete(id)
if err != nil {
if isNoauthUnsupportedErr(err) {
log.Printf("noauth mode: nothing to delete: %v", err)
}
return err
} Prevention
- Disable delete-user actions on noauth deployments.
- Skip member lifecycle APIs entirely for noauth provider.
- Switch to a dynamic provider for real user management.
- Validate provider type at client startup and configure available operations accordingly.
When it happens
Trigger: Any call to the member Delete API (delete-user endpoint) while the member provider is 'noauth'.
Common situations: Generic admin tooling attempts to delete a user on a noauth deployment; every call fails because there is no user store in noauth mode.
Related errors
- new user is created on first login in noauth mode
- noauth mode does not have password
- cannot select user in noauth mode
- new user is created on first login in multiuser mode
- password can only be modified in config while in multiuser m
AI-assisted analysis of m1k1o/neko@b0f01cedea (2026-09-01).
Data as JSON: /api/errors/f5e6d60b8b6b7ccf.
Report an issue: GitHub.