decolua/9router · error · Error

Onboarding timeout - please try again

Error message

Onboarding timeout - please try again

What it means

Thrown by AntigravityService.completeOnboarding after polling onboardUser maxRetries (10) times with 5-second sleeps, and the response never contained done === true. Google's onboarding is asynchronous; this means it did not complete within ~50 seconds. The method is fail-loud by design — it does not return a partial result.

Source

Thrown at src/lib/oauth/services/antigravity.js:179

      if (result.done === true) {
        // Extract final project ID from response
        let finalProjectId = projectId;
        if (result.response?.cloudaicompanionProject) {
          const respProject = result.response.cloudaicompanionProject;
          if (typeof respProject === 'string') {
            finalProjectId = respProject.trim();
          } else if (respProject.id) {
            finalProjectId = respProject.id.trim();
          }
        }
        return { success: true, projectId: finalProjectId };
      }

      // Wait 5 seconds before retry
      await new Promise(resolve => setTimeout(resolve, 5000));
    }

    throw new Error("Onboarding timeout - please try again");
  }

  /**
   * Fetch Project ID from loadCodeAssist API (legacy method for compatibility)
   */
  async fetchProjectId(accessToken) {
    const { projectId } = await this.loadCodeAssist(accessToken);
    if (!projectId) {
      throw new Error("No cloudaicompanionProject found in response");
    }
    return projectId;
  }

  /**
   * Save Antigravity tokens to server
   */
  async saveTokens(tokens, userInfo, projectId) {
    const { server, token, userId } = getServerCredentials();

View on GitHub (pinned to 90b52e06ff)

Solutions

  1. Simply re-run the antigravity connect command — provisioning often completes by the next attempt
  2. Wait a few minutes for Google to finish provisioning the Gemini Code Assist tier, then retry
  3. Verify at https://console.cloud.google.com that the project shows Gemini Code Assist enabled before retrying
  4. Raise maxRetries or the 5s delay when calling completeOnboarding if provisioning is consistently slow in your region
Defensive patterns

Strategy: retry

Validate before calling

const pre = await service.loadCodeAssist(token);
if (pre.tierId === 'legacy-tier' && !pre.raw.allowedTiers) console.warn('No tiers advertised — onboarding may never report done');

Type guard

function isOnboardDone(r) { return r != null && r.done === true; }

Try / catch

try {
  await service.completeOnboarding(token, projectId, tierId);
} catch (e) {
  if (e.message === 'Onboarding timeout - please try again') {
    await sleep(60000); // wait for backend provisioning
    await service.completeOnboarding(token, projectId, tierId); // one more round
  } else throw e;
}

Prevention

When it happens

Trigger: Every call to onboardUser returns HTTP 200 but with done:false (or a missing done field) for all 10 attempts — Google is still provisioning the Code Assist tier for the project.

Common situations: Brand-new GCP projects where backend provisioning is slow; free-tier accounts during high load; network keep-alives masking a stuck backend. Users on flaky connections may also lose the flow if they abort before a later retry would have succeeded.

Understand the failure class

Related errors


AI-assisted analysis of decolua/9router@90b52e06ff (2026-08-30). Data as JSON: /api/errors/eb7bce79def420ae. Report an issue: GitHub.