react/react · warning · Error

overrideError not supported by this renderer

Error message

overrideError not supported by this renderer

What it means

Legacy (React v15) renderer stub for overrideError. Toggling/throwing component errors from DevTools requires the fiber error-overlay machinery, which v15 lacks. The stub throws to signal that error overriding is unsupported on a v15 renderer.

Source

Thrown at packages/react-devtools-shared/src/backend/legacy/renderer.js:1201

      }
    }
  }

  // v16+ only features
  const getProfilingData = () => {
    throw new Error('getProfilingData not supported by this renderer');
  };
  const handleCommitFiberRoot = () => {
    throw new Error('handleCommitFiberRoot not supported by this renderer');
  };
  const handleCommitFiberUnmount = () => {
    throw new Error('handleCommitFiberUnmount not supported by this renderer');
  };
  const handlePostCommitFiberRoot = () => {
    throw new Error('handlePostCommitFiberRoot not supported by this renderer');
  };
  const overrideError = () => {
    throw new Error('overrideError not supported by this renderer');
  };
  const overrideSuspense = () => {
    throw new Error('overrideSuspense not supported by this renderer');
  };
  const overrideSuspenseMilestone = () => {
    throw new Error('overrideSuspenseMilestone not supported by this renderer');
  };
  const startProfiling = () => {
    // Do not throw, since this would break a multi-root scenario where v15 and v16 were both present.
  };
  const stopProfiling = () => {
    // Do not throw, since this would break a multi-root scenario where v15 and v16 were both present.
  };

  function getBestMatchForTrackedPath(): PathMatch | null {
    // Not implemented.
    return null;
  }

View on GitHub (pinned to 22e4f993c7)

Solutions

  1. Use error overriding on React 16+ fiber components only.
  2. Upgrade the inspected app to React 16+ to use error simulation in DevTools.
  3. On mixed-version pages, target the v16+ root for error overrides.
  4. Treat as expected unavailability on v15.
Defensive patterns

Strategy: validation

Validate before calling

// Error overriding needs the fiber error overlay; skip legacy renderers.
function supportsErrorOverride(renderer) {
  return Boolean(renderer && typeof renderer.overrideError === 'function' &&
    renderer.findHostInstancesForElementID); // fiber renderer only
}

if (supportsErrorOverride(renderer)) {
  renderer.overrideError(id, isError);
}

Type guard

function isFiberRenderer(renderer) {
  return Boolean(renderer && typeof renderer.overrideError === 'function' &&
    typeof renderer.findHostInstancesForElementID === 'function');
}

Prevention

When it happens

Trigger: DevTools 'simulate error' / override-error action is dispatched to a legacy v15 renderer.

Common situations: Using DevTools' error-injection feature on a React 15 app, or a mixed-version page where the target element belongs to the v15 root.

Related errors


AI-assisted analysis of react/react@22e4f993c7 (2026-08-12). Data as JSON: /api/errors/14b839d1ddf0c7f2. Report an issue: GitHub.