tinyhumansai/openhuman · error
[onboarding:context] save_profile failed
Error message
[onboarding:context] save_profile failed
What it means
The save_profile stage of onboarding context gathering failed: saveProfile rejected while persisting the built PROFILE.md body (URL-only, since the Apify scrape stage is disabled) to the core. The build-profile stage errors, so the user's profile document is not saved and downstream personalization that reads PROFILE.md runs without it.
Source
Thrown at app/src/pages/onboarding/steps/ContextGatheringStep.tsx:270
}
// Stage 2 — Apify LinkedIn scrape (disabled: unreliable, skipped during
// profile build). PROFILE.md is built URL-only from stage 3.
setStage('linkedin-scrape', 'skipped', 0, 'apify_disabled');
const scrapedMarkdown = '';
// Stage 3 — summarize + persist via core LLM compressor
const profileStartedAt = stageNow();
setStage('build-profile', 'active');
try {
const body = scrapedMarkdown.trim()
? scrapedMarkdown
: `# User Profile\n\nLinkedIn: ${profileUrl}\n\n_Scrape returned no data._`;
await saveProfile(body);
setStage('build-profile', 'done', durationMs(profileStartedAt));
} catch (e) {
const reason = errorReason(e);
console.warn('[onboarding:context] save_profile failed', {
durationMs: durationMs(profileStartedAt),
reason,
});
setStage('build-profile', 'error', durationMs(profileStartedAt), reason);
setHasError(true);
}
console.debug('[onboarding:context] pipeline finished', {
durationMs: durationMs(pipelineStartedAt),
result: stageStatusesRef.current['build-profile'] === 'error' ? 'profile_error' : 'completed',
});
setFinished(true);
}
const continueToChat = () => {
backgroundClickedRef.current = true;
console.debug('[onboarding:context] user continued before pipeline completion', {
finished,View on GitHub (pinned to 7491200858)
Solutions
- Check the stage's logged error — auth/session expiry and core RPC transport are the usual causes
- Verify the core process is healthy and retry context gathering; a fresh run rebuilds and re-saves the profile
- If the write is rejected as invalid, inspect the generated PROFILE.md body size/content limits
- Confirm the profile later via the memory/profile surface that saveProfile targets
Defensive patterns
Strategy: try-catch
When it happens
Trigger: Thrown at app/src/pages/onboarding/steps/ContextGatheringStep.tsx:270 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/c5bbdb709578733e.
Report an issue: GitHub.