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

  1. Do not call Delete in noauth mode; there are no users to delete.
  2. Switch to multiuser or another dynamic provider if user lifecycle management is required.
  3. 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

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


AI-assisted analysis of m1k1o/neko@b0f01cedea (2026-09-01). Data as JSON: /api/errors/f5e6d60b8b6b7ccf. Report an issue: GitHub.