tinyhumansai/openhuman · error
[onboarding:context] gmail stage failed
Error message
[onboarding:context] gmail stage failed
What it means
The Gmail stage of the onboarding context-gathering pipeline failed: findLinkedInUrlViaComposio threw while searching the user's connected Gmail for a LinkedIn URL. The catch marks the pipeline finished with a failure outcome (thegmail-search stage errors rather than skipping), so no profile build or later stages run for this onboarding attempt.
Source
Thrown at app/src/pages/onboarding/steps/ContextGatheringStep.tsx:237
let profileUrl: string | null;
try {
profileUrl = await findLinkedInUrlViaComposio();
if (profileUrl) {
setStage('gmail-search', 'done', durationMs(gmailStartedAt));
} else {
setStage('gmail-search', 'skipped', durationMs(gmailStartedAt), 'no_linkedin_url');
setStage('linkedin-scrape', 'skipped');
setStage('build-profile', 'skipped');
console.debug('[onboarding:context] pipeline finished', {
durationMs: durationMs(pipelineStartedAt),
result: 'no_profile_url',
});
setFinished(true);
return;
}
} catch (e) {
const reason = errorReason(e);
console.warn('[onboarding:context] gmail stage failed', {
durationMs: durationMs(gmailStartedAt),
reason,
});
setStage('gmail-search', 'error', durationMs(gmailStartedAt), reason);
setStage('linkedin-scrape', 'skipped');
setStage('build-profile', 'skipped');
console.debug('[onboarding:context] pipeline finished', {
durationMs: durationMs(pipelineStartedAt),
result: 'gmail_error',
reason,
});
setHasError(true);
setFinished(true);
return;
}
// Stage 2 — Apify LinkedIn scrape (disabled: unreliable, skipped during
// profile build). PROFILE.md is built URL-only from stage 3.View on GitHub (pinned to 7491200858)
Solutions
- Check the stage's logged error for the Composio/Gmail failure reason (disconnected account, expired grant, API error)
- Reconnect Gmail via the integrations/connections settings and re-run context gathering
- If Composio is not configured, the step can be skipped — profile build is optional to onboarding
- Recurring failures: inspect core logs for the gmail search tool call
Defensive patterns
Strategy: try-catch
When it happens
Trigger: Thrown at app/src/pages/onboarding/steps/ContextGatheringStep.tsx:237 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of tinyhumansai/openhuman@7491200858 (2026-08-17).
Data as JSON: /api/errors/9f9c365ab72696d1.
Report an issue: GitHub.