quasarframework/quasar · error
Quasar App Extension is missing...
Error message
Quasar App Extension is missing...
What it means
AppExtensionInstance.run() executes the extension's index script (its hooks/IndexAPI surface). If the extension's npm package is not installed, it warns and calls process.exit(1), terminating the Quasar CLI command — the extension cannot be invoked at all without its package.
Source
Thrown at app-vite/lib/app-extension/AppExtensionInstance.js:296
this.#appExtJson.remove(this.extId)
if (skipPkgUninstall !== true) {
await this.#uninstallPackage()
}
this.logger.log('Removed App Extension')
if (hooks && hooks.exitLog.length !== 0) {
hooks.exitLog.forEach(msg => {
console.log(msg)
})
console.log()
}
}
async run() {
if (!this.isInstalled) {
this.logger.warn('Quasar App Extension is missing...')
process.exit(1)
}
const script = await this.#getScript('index', true)
const api = new IndexAPI(
{
ctx: this.#ctx,
extId: this.extId,
prompts: this.getPrompts(),
packageDir: dirname(fileURLToPath(this.#packageParentUrl))
},
this.#appExtJson
)
this.logger.log('Running...')
await script(api)
View on GitHub (pinned to 4841521b5f)
Solutions
- Install the extension: quasar ext add <ext-id> or pnpm add -D <ext-package>
- Remove the stale extension from quasar.config (extensions) / `quasar ext remove` if you no longer want it
- Check package manager output for why the package failed to install (registry auth, network, peer conflicts)
- Verify node_modules contains the package before re-running the command
Example fix
// before (quasar.config.js) referencing uninstalled ext extensions: ['icon-genie'] // not in package.json // after: install it first // pnpm add -D @quasar/quasar-app-extension-icon-genie extensions: ['icon-genie']
Defensive patterns
Strategy: validation
Validate before calling
// before invoking ext commands, verify each configured extension is installed
const fs = require('fs')
const cfg = require('./quasar.config.js')
for (const ext of cfg.extensions ?? []) {
const dir = `node_modules/@quasar/quasar-app-extension-${ext}`
if (!fs.existsSync(dir)) {
console.error(`Missing extension package: ${ext} — run: quasar ext add ${ext}`)
process.exit(1)
}
} Prevention
- Run `pnpm install` (or npm install) after cloning before any quasar CLI command
- Add extensions only through `quasar ext add` so package.json and config stay in sync
- Remove extensions with `quasar ext remove` instead of editing config alone
- Check CI images install dependencies (not just cache quasar CLI) before ext commands
When it happens
Trigger: An extension listed in quasar.config's extensions (or .quasar/app-ext.json) but its npm package is missing from node_modules when `quasar ext run`/invoke-related commands call run().
Common situations: Fresh clone without `pnpm install`; extension removed from package.json but still referenced in quasar.config; private/registry package failing to install (auth or network); dependency installed under a different workspace than the one running the CLI.
Related errors
- Failed to render template "${sourcePath}". This may break th
- Quasar App Extension is not installed...
- extendPackageJson() - cannot locate ${extPkg}. Skipping...
- extendPackageJson() - "${extPkg}" is a folder instead of fil
- extendPackageJson() - "${extPkg}" is malformed. Exiting...
AI-assisted analysis of quasarframework/quasar@4841521b5f (2026-08-30).
Data as JSON: /api/errors/c94eb01304c68516.
Report an issue: GitHub.