tinyhumansai/openhuman · error

[core-state] bootstrap poll failed (attempt ${failureCount}/

Error message

[core-state] bootstrap poll failed (attempt ${failureCount}/${MAX_BOOTSTRAP_RETRIES}):

What it means

CoreStateProvider bootstrap refresh: the periodic snapshot refresh() threw and this is still within the retry budget (attempt failureCount of MAX_BOOTSTRAP_RETRIES). The failure is sanitized and logged at debug while the effect keeps polling — the UI continues showing the last good snapshot. Common while the embedded core process is still booting its RPC server.

Source

Thrown at app/src/providers/CoreStateProvider.tsx:536

  );

  useEffect(() => {
    let cancelled = false;
    const doRefresh = async () => {
      try {
        await refresh();
        bootstrapFailCountRef.current = 0;
      } catch (error) {
        if (!cancelled) {
          bootstrapFailCountRef.current += 1;
          const safe = sanitizeError(error);
          const debugMessage = coreStatePollFailureDebugMessage(bootstrapFailCountRef.current);
          if (debugMessage) {
            log('%s error=%O', debugMessage, safe);
          }
          const warningMessage = coreStatePollFailureWarningMessage(bootstrapFailCountRef.current);
          if (warningMessage) {
            console.warn(warningMessage, safe);
          }
          if (bootstrapFailCountRef.current >= MAX_BOOTSTRAP_RETRIES) {
            commitState(previous => {
              if (previous.isBootstrapping) {
                return { ...previous, isBootstrapping: false };
              }
              return previous;
            });
          }
        }
      }
    };

    const load = async () => {
      await doRefresh();
      if (!cancelled) {
        const next = getCoreStateSnapshot();
        if (

View on GitHub (pinned to 7491200858)

Solutions

  1. Wait — the poll retries automatically and resets once refresh succeeds
  2. Check that the core process is starting (core.token / port up) if failures persist past the budget
  3. Inspect the sanitized error object in the log for the RPC-level cause
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at app/src/providers/CoreStateProvider.tsx:536 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/16ff3400f74cacf5. Report an issue: GitHub.