Skip to content
Latchkey

ESLint "Failed to load config to extend from" - Missing Config in CI

ESLint tried to load a config named in extends and could not find it. The shareable config package is not installed, or the name in extends does not map to an installed package.

What this error means

ESLint fails immediately with Failed to load config "<x>" to extend from. Referenced from: <path>. No files are linted because ESLint cannot assemble its configuration.

eslint
Oops! Something went wrong! :(
Error: Failed to load config "airbnb-base" to extend from.
Referenced from: /app/.eslintrc.json

Common causes

Shareable config not installed

A config like eslint-config-airbnb-base is referenced in extends but missing from node_modules (not in package.json, or a clean install dropped it).

Wrong extends name or missing peers

The extends value does not match the package, or the config's required peer plugins/parsers are not installed, so loading it fails.

How to fix it

Install the config and its peers

Add the shareable config and any peer dependencies it requires.

Terminal
npm install -D eslint-config-airbnb-base eslint-plugin-import

Use the correct extends name

  1. Match the extends string to the package (config packages drop the eslint-config- prefix in extends).
  2. Check the config's README for required peer plugins/parsers and install them.
  3. Run npm ci so CI installs exactly what the lockfile pins.

How to prevent it

  • Declare every ESLint config and plugin in devDependencies.
  • Install with npm ci so the lint toolchain is reproducible.
  • Track a shareable config's peer-dependency list when adding it.

Frequently asked questions

What causes ""Failed to load config to extend""?
A config like eslint-config-airbnb-base is referenced in extends but missing from node_modules (not in package.json, or a clean install dropped it).
How do I fix "Failed to load config to extend"?
Add the shareable config and any peer dependencies it requires.

Related guides

References

Latchkey auto-heals failures like this one - detected, fixed, and retried without you. Start free → 30-day trial · No credit card