plandex-ai/plandex · error
error getting users for domain: %v
Error message
error getting users for domain: %v
What it means
AddOrgDomainUsers wraps a failure from GetUsersForDomain(domain) into 'error getting users for domain: %v'. The lookup of users whose email matches the org domain failed, so domain-based auto-add cannot proceed.
Source
Thrown at app/server/db/org_helpers.go:150
query := fmt.Sprintf("SELECT %s FROM orgs WHERE domain = $1", orgFields)
err := Conn.Get(&org, query, domain)
if err != nil {
if err == sql.ErrNoRows {
return nil, nil
}
return nil, fmt.Errorf("error getting org for domain: %v", err)
}
return &org, nil
}
func AddOrgDomainUsers(orgId, domain string, tx *sqlx.Tx) error {
usersForDomain, err := GetUsersForDomain(domain)
if err != nil {
return fmt.Errorf("error getting users for domain: %v", err)
}
orgMemberRoleId, err := GetOrgMemberRoleId()
if err != nil {
return fmt.Errorf("error getting org member role id: %v", err)
}
if len(usersForDomain) > 0 {
// create org users for each user
var valueStrings []string
var valueArgs []interface{}
for i, user := range usersForDomain {
num := i * 3
valueStrings = append(valueStrings, fmt.Sprintf("($%d, $%d, $%d)", num+1, num+2, num+3))
valueArgs = append(valueArgs, orgId, user.Id, orgMemberRoleId)
}
View on GitHub (pinned to e2d772072e)
Solutions
- Check the wrapped %v message for the underlying pq error (connectivity vs syntax vs missing table)
- Validate the domain string (non-empty, valid hostname) before org creation / auto-add
- Ensure the users schema matches via migrations
- Retry once the database is reachable
Example fix
// before
domain := "" // empty domain from request
err := db.AddOrgDomainUsers(orgId, domain, tx)
// after
if domain == "" || !strings.Contains(domain, ".") {
return errors.New("invalid org domain for auto-add")
}
err := db.AddOrgDomainUsers(orgId, domain, tx) Defensive patterns
Strategy: validation
Validate before calling
if domain == "" || strings.Contains(domain, "@") || !strings.Contains(domain, ".") {
return errors.New("invalid domain")
} Try / catch
err := db.AddOrgDomainUsers(orgId, domain, tx)
if err != nil && strings.Contains(err.Error(), "error getting users for domain") {
log.Printf("domain user lookup failed: %v", err)
return fmt.Errorf("domain lookup unavailable")
} Prevention
- Validate/normalize the org domain at creation time
- Keep users-table migrations applied
- Don't enable auto_add_domain_users without a valid domain
- Add DB health monitoring to catch transient lookups failures
When it happens
Trigger: GetUsersForDomain's SELECT over users fails: DB connection issue, users table missing, or an invalid domain value causing a query error.
Common situations: Auto-add-domain-users org created with a malformed/empty domain; DB outage; migrations not applied so the users table or email column differs.
Understand the failure class
Background: Database query failed: Internal Server Error 500s wrapping SQL, Prisma, and connection failures — what to check first — this error's family across 16 libraries.
Related errors
- error adding convo tokens: %v
- error checking settings: %v
- error creating postgres driver: %v
- error validating org membership: %v
- error creating org: %v
AI-assisted analysis of plandex-ai/plandex@e2d772072e (2026-09-05).
Data as JSON: /api/errors/90344ac5d3ec8a4f.
Report an issue: GitHub.