quasarframework/quasar · error

One of your installed App Extensions failed to run.

Error message

One of your installed App Extensions failed to run.

What it means

While computing the final config, Quasar executes hooks/extensions of installed App Extensions; if one of them throws, the error is logged and this message is reported. Fatal under shouldFail; otherwise the run warns and stops config computation, since the extension could have mutated required config.

Source

Thrown at app-vite/lib/quasar-config-file.js:912

          if (Object(overrides) === overrides) {
            rawQuasarConf = merge(rawQuasarConf, overrides)
          }
          resolveAppExtensionAssets(
            rawQuasarConf,
            tildeAssetCounts,
            hook.packageDir
          )
        }
      )
    } catch (err) {
      console.log()
      console.error(err)

      if (this.#shouldFail) {
        fatal('One of your installed App Extensions failed to run', 'FAIL')
      }

      warn('One of your installed App Extensions failed to run.\n')
      return
    }

    const cfg = {
      ...rawQuasarConf,
      metaConf
    }

    // we need to know if using SSR + PWA immediately
    if (this.#ctx.mode.ssr) {
      cfg.ssr = merge(
        {
          pwa: false,
          pwaOfflineHtmlFilename: 'offline.html',
          manualStoreHydration: false,
          manualPostHydrationTrigger: false,
          prodPort: 3000, // gets superseded in production by an eventual process.env.PORT
          prodScriptNamedExport: false

View on GitHub (pinned to 4841521b5f)

Solutions

  1. Look at the console.error(err) stack printed just above the message to identify which extension failed.
  2. Update the failing App Extension (`quasar ext update <name>`) and @quasar/app-vite to latest compatible versions.
  3. Remove the extension if unneeded (`quasar ext remove <name>`) and re-run.
  4. Reinstall dependencies (rm -rf node_modules && pnpm install) to fix corrupted packages.
  5. Report/patch the extension if its hook itself is buggy.

Example fix

# before
$ quasar dev
# after
$ quasar ext update my-extension
$ pnpm install
$ quasar dev
Defensive patterns

Strategy: try-catch

Validate before calling

// Verify installed extensions are loadable before dev/build:
import { readFileSync, existsSync } from 'node:fs'
const exts = JSON.parse(readFileSync('src/quasar.extensions.json', 'utf8'))
for (const name of Object.keys(exts)) {
  if (!existsSync(`node_modules/${name}`)) console.warn(`Missing extension: ${name}`)
}

Try / catch

try {
  await runExtensionHooks('extendQuasarConf', api)
} catch (err) {
  console.error(`App Extension ${name} hook failed:`, err)
}

Prevention

When it happens

Trigger: An installed App Extension's hook (registered via api.extendQuasarConf or similar lifecycle) throws during #computeConfig — e.g. the extension package is broken, incompatible with the current @quasar/app-vite version, or its hook references files/options missing in the project.

Common situations: After installing an AE whose version lags behind the CLI (breaking API change); an AE expecting files/folders the project lacks; a corrupted node_modules after a partial install; Node version incompatibility with AE code.

Related errors


AI-assisted analysis of quasarframework/quasar@4841521b5f (2026-08-30). Data as JSON: /api/errors/4af9c6171b5d4748. Report an issue: GitHub.