quasarframework/quasar · warning
quasar.config file > invalid Vite plugin specified (cannot f
Error message
quasar.config file > invalid Vite plugin specified (cannot find it): ${name} What it means
Quasar CLI's parseVitePlugins resolves each plugin listed in quasar.config > vite.plugins by looking the package up in the app directory. When getPackage cannot find an installable package for the given name, it warns that the Vite plugin is invalid and skips it, so the plugin will not be applied to the build.
Source
Thrown at app-vite/lib/config-tools.js:86
acc.push(
// protect against the Vite plugin mutating its own options and triggering endless cfg diff loop
merge({}, name)
)
continue
}
if (typeof name !== 'string') {
warn('quasar.config file > invalid Vite plugin specified: ' + name)
warn(
"Correct form: [ 'my-vite-plugin-name', { /* pluginOpts */ } ] or [ pluginFn, { /* pluginOpts */ } ]"
)
continue
}
const plugin = await getPackage(name, appDir)
if (!plugin) {
warn(
'quasar.config file > invalid Vite plugin specified (cannot find it): ' +
name
)
continue
}
const pluginFn =
plugin.default?.default || // example: vite-plugin-checker
plugin.default ||
plugin
acc.push(
pluginFn(
// protect against the Vite plugin mutating its own options and triggering endless cfg diff loop
merge({}, pluginOpts)
)
)
}View on GitHub (pinned to 4841521b5f)
Solutions
- Install the missing plugin in the app: pnpm add -D <plugin-name> from the app directory.
- Check the plugin name spelling and correct package scope in quasar.config > vite.plugins.
- Verify the package exports a valid Vite plugin function/array (some packages need a default export or a subpath import).
- Reinstall dependencies (rm -rf node_modules && pnpm install) to fix broken workspace links.
Example fix
// before (quasar.config.js)
vite: { plugins: ['viteplugpwa'] }
// after
vite: { plugins: ['vite-plugin-pwa'] } // and: pnpm add -D vite-plugin-pwa Defensive patterns
Strategy: validation
Validate before calling
// in quasar.config.js, before listing
const plugins = ['vite-plugin-pwa']
for (const p of plugins) {
try { require.resolve(p, { paths: [__dirname] }) }
catch { throw new Error(`Vite plugin not installed: ${p} — run: pnpm add -D ${p}`) }
} Prevention
- Add Vite plugins as devDependencies of the app package, not a workspace root.
- Copy plugin names exactly from their npm package name including @scope/.
- Run pnpm install after pulling changes that touch package.json.
When it happens
Trigger: quasar.config file (or vite.config extension) lists a vite plugin name that is not installed in the project, is misspelled, or resolves to a package without a valid plugin export; getPackage(name, appDir) returns null and the warning is emitted.
Common situations: Typo in the plugin name (e.g. 'vite-plugin-pwa' vs '@vitejs/plugin-legacy'); dependency added to a workspace root but not the app package; plugin removed from package.json during a dependency cleanup; forgetting to run pnpm/npm install after cloning.
Understand the failure class
Background: "not installed", "pip install", "required for": how missing-dependency errors surface across open-source libraries — this error's family across 34 libraries.
Related errors
- [Quasar] In your Vite config file, please add the Quasar plu
- Failed to render ${errorsEncountered} SSG page${errorsEncoun
- Failed to open specific browser
- Specified profile file has a syntax error
- quasar.config file > invalid Vite plugin specified: ${name}
AI-assisted analysis of quasarframework/quasar@4841521b5f (2026-08-30).
Data as JSON: /api/errors/58c18b39e56ef8a5.
Report an issue: GitHub.