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
- Re-run the login command — onboarding is idempotent and prior attempts make progress server-side
- If it fails repeatedly, wait several minutes for Google provisioning to settle, then retry
- 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
- Retry the full login on give-up; onboarding is idempotent and prior attempts persist
- Expect first-logins on fresh accounts to need more than one attempt
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
- read response: %w
- no project_id in response
- http %d: %s
- invalid_request
- antigravity token exchange: create request: %w
AI-assisted analysis of router-for-me/CLIProxyAPI@78f0c4079e (2026-08-15).
Data as JSON: /api/errors/55b12e2e77e06886.
Report an issue: GitHub.