AlistGo/alist · error
user not found: %w
Error message
user not found: %w
What it means
Returned by authenticateToken (server/mcp/auth.go:75) when the JWT parsed fine but op.GetUserByName(claims.Username) fails — the username encoded in the token no longer exists in the database. The token's signature and expiry are valid; the account behind it was deleted.
Source
Thrown at server/mcp/auth.go:75
}
if guest.Disabled {
return nil, fmt.Errorf("guest user is disabled")
}
if err := loadRoles(guest); err != nil {
return nil, err
}
return guest, nil
}
// JWT token
claims, err := common.ParseToken(token)
if err != nil {
return nil, fmt.Errorf("invalid token: %w", err)
}
user, err := op.GetUserByName(claims.Username)
if err != nil {
return nil, fmt.Errorf("user not found: %w", err)
}
if claims.PwdTS != user.PwdTS {
return nil, fmt.Errorf("password has been changed")
}
if user.Disabled {
return nil, fmt.Errorf("user is disabled")
}
if err := loadRoles(user); err != nil {
return nil, err
}
return user, nil
}
func loadRoles(user *model.User) error {
if len(user.Role) > 0 {
roles, err := op.GetRolesByUserID(user.ID)View on GitHub (pinned to 843d9dc814)
Solutions
- Re-login as an existing user and replace the token in the MCP configuration
- Remove stale credentials from tooling when accounts are deleted
- Purge cached tokens on auth failures instead of retrying them
Defensive patterns
Strategy: fallback
Try / catch
if err != nil && strings.Contains(err.Error(), "user not found") { invalidateCachedToken(); promptReLogin() } Prevention
- Drop cached tokens when accounts are deleted
- Prefer long-lived service accounts for automation
When it happens
Trigger: An MCP client keeps using a login token after the referenced user account was deleted from the admin panel; a database restore that dropped user rows while tokens persisted in clients.
Common situations: Offboarding a user while their automation tokens remain configured; environments rebuilt from partial backups.
Related errors
- user is disabled
- failed to get admin: %w
- failed to get guest: %w
- guest user is disabled
- invalid token: %w
AI-assisted analysis of AlistGo/alist@843d9dc814 (2026-08-15).
Data as JSON: /api/errors/48c7244d0da0ad47.
Report an issue: GitHub.