tinyhumansai/openhuman · error
[DaemonLifecycle] Max reconnection attempts reached
Error message
[DaemonLifecycle] Max reconnection attempts reached
What it means
The daemon lifecycle hook's retry budget is exhausted: connectionAttempts reached MAX_RECONNECTION_ATTEMPTS, so scheduleRetry stops scheduling further exponential-backoff retries. The daemon remains disconnected and no automatic recovery will occur — the UI continues to show the disconnected state until the user manually restarts (or the app remounts the hook, resetting attempts).
Source
Thrown at app/src/hooks/useDaemonLifecycle.ts:108
console.error('[DaemonLifecycle] Auto-start error:', error);
incrementConnectionAttempts(uid);
} finally {
setIsRecovering(uid, false);
}
}
}, []);
// Retry connection with exponential backoff
const scheduleRetry = useCallback(() => {
const { connectionAttempts, status, isRecovering } = latestLifecycleRef.current;
if (!isTauri() || !isMountedRef.current || isRecovering) {
return;
}
// Don't retry if we've exceeded max attempts
if (connectionAttempts >= MAX_RECONNECTION_ATTEMPTS) {
console.warn('[DaemonLifecycle] Max reconnection attempts reached');
return;
}
// Don't retry if daemon is already running or starting
if (status === 'running' || status === 'starting') {
return;
}
const retryDelay = calculateRetryDelay(connectionAttempts + 1);
console.log(
`[DaemonLifecycle] Scheduling retry attempt ${connectionAttempts + 1} in ${retryDelay}ms`
);
// Clear existing timeout
if (retryTimeoutRef.current) {
clearTimeout(retryTimeoutRef.current);
}
View on GitHub (pinned to 7491200858)
Solutions
- Use the UI's manual restart/connect action for the daemon
- Check why every retry failed — core/daemon logs at the retry timestamps carry the underlying errors
- Resolve the root cause (port conflict, crashed service, permissions) before restarting, or the budget exhausts again
- Restarting the app resets connection attempts and re-runs auto-start
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at app/src/hooks/useDaemonLifecycle.ts:108 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/ef6be0b1b825ef5a.
Report an issue: GitHub.