plandex-ai/plandex · error

error accepting invite

Error message

error accepting invite

What it means

A pending invite was found and db.AcceptInvite(r.Context(), invite, authToken.UserId) failed; the server logs 'error accepting invite' and returns HTTP 500 when raiseErr is true. The auto-accept flow that adds the user to the org on first authenticated access failed.

Source

Thrown at app/server/handlers/auth_helpers.go:554

		invite, err := db.GetActiveInviteByEmail(parsed.OrgId, user.Email)

		if err != nil {
			log.Printf("error getting invite for org user: %v\n", err)
			if raiseErr {
				http.Error(w, "error getting invite for org user", http.StatusInternalServerError)
			}
			return nil
		}

		if invite != nil {
			log.Println("accepting invite")

			err := db.AcceptInvite(r.Context(), invite, authToken.UserId)

			if err != nil {
				log.Printf("error accepting invite: %v\n", err)
				if raiseErr {
					http.Error(w, "error accepting invite", http.StatusInternalServerError)
				}
				return nil
			}

		} else {
			log.Println("user is not a member of the org")
			if raiseErr {
				http.Error(w, "not a member of org", http.StatusUnauthorized)
			}
			return nil
		}
	}

	// get user permissions
	permissions, err := db.GetUserPermissions(authToken.UserId, parsed.OrgId)

	if err != nil {
		log.Printf("error getting user permissions: %v\n", err)

View on GitHub (pinned to e2d772072e)

Solutions

  1. Retry the request; on success the invite will auto-accept again
  2. Check server logs for the underlying db.AcceptInvite error
  3. Inspect for constraint conflicts (user already added) and make AcceptInvite idempotent
  4. Verify the request is not timing out before the DB transaction completes
Defensive patterns

Strategy: retry

Try / catch

if err := doCall(ctx); err != nil {
	var apiErr *APIError
	if errors.As(err, &apiErr) && apiErr.StatusCode == 500 && strings.Contains(apiErr.Message, "accepting invite") {
		return retryWithBackoff(ctx) // re-attempt; invite auto-accepts on success
	}
	return err
}

Prevention

When it happens

Trigger: User with a valid active invite authenticates against the org; the AcceptInvite transaction fails (DB error, context cancellation, constraint conflict).

Common situations: Database outages or transaction deadlocks; request context cancelled/timeouts mid-write; concurrent invite acceptance or already-added membership causing constraint violations.

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


AI-assisted analysis of plandex-ai/plandex@e2d772072e (2026-09-05). Data as JSON: /api/errors/b33b405600f6505f. Report an issue: GitHub.