router-for-me/CLIProxyAPI · warning

onboard user did not complete after %d attempts

Error message

onboard user did not complete after %d attempts

What it means

Returned by AntigravityAuth.OnboardUser when all 5 poll attempts (1s-indexed loop, 2s sleep between attempts) received 200 responses with done=false. Google's long-running onboarding operation never transitioned to done within roughly 10 seconds of polling. The operation is still pending server-side; the error is a local give-up, not a hard failure.

Source

Thrown at internal/auth/antigravity/auth.go:377

			}

			time.Sleep(2 * time.Second)
			continue
		}

		responsePreview := strings.TrimSpace(string(bodyBytes))
		if len(responsePreview) > 500 {
			responsePreview = responsePreview[:500]
		}

		responseErr := responsePreview
		if len(responseErr) > 200 {
			responseErr = responseErr[:200]
		}
		return "", fmt.Errorf("http %d: %s", resp.StatusCode, responseErr)
	}

	return "", fmt.Errorf("onboard user did not complete after %d attempts", maxAttempts)
}

View on GitHub (pinned to 78f0c4079e)

Solutions

  1. Re-run the login command — onboarding is idempotent and prior attempts make progress server-side
  2. If it fails repeatedly, wait several minutes for Google provisioning to settle, then retry
  3. Check https://status.cloud.google.com for incidents if large numbers of accounts all hit this

Example fix

// before (constant in auth.go)
maxAttempts := 5

// after — slower accounts need a longer window
maxAttempts := 10
Defensive patterns

Strategy: retry

Try / catch

if _, err := auth.OnboardUser(ctx, token, tierID); err != nil && strings.Contains(err.Error(), "did not complete after") {
    time.Sleep(10 * time.Second) // operation still pending server-side
    _, err = auth.OnboardUser(ctx, token, tierID)
    if err != nil { return err }
}

Prevention

When it happens

Trigger: First-time account provisioning that legitimately takes longer than the ~10s polling window; Google-side latency during onboarding bursts; following the code path where every attempt returns {done: false}.

Common situations: Fresh accounts on their very first login; Google incidents slowing the daily endpoint; retrying login usually succeeds because prior progress persists.

Related errors


AI-assisted analysis of router-for-me/CLIProxyAPI@78f0c4079e (2026-08-15). Data as JSON: /api/errors/55b12e2e77e06886. Report an issue: GitHub.