quasarframework/quasar · error
No such App Extension is installed
Error message
No such App Extension is installed
What it means
`quasar run <extId>` (or its alias) looks up an installed Quasar App Extension by its npm-short id. When no such extension is registered in the project, the CLI warns and exits 1. Extensions become available only after being installed via `quasar ext add <extId>`. Note: the message lacks the extension id interpolation — check which id you passed.
Source
Thrown at app-vite/lib/cmd/run.js:45
Options
--no-color Disable colored output
`)
process.exit(0)
}
import { log, warn } from '../utils/logger.js'
import { getExtensionLogger } from '../app-extension/logger.js'
import { getCtx } from '../utils/get-ctx.js'
const { appExt } = getCtx()
const ext = appExt.getInstance(extId)
if (ext === void 0) {
warn()
getExtensionLogger(extId).warn('No such App Extension is installed')
warn()
process.exit(1)
}
const hooks = await ext.run()
const list = () => {
if (Object.keys(hooks.commands).length === 0) {
ext.logger.warn(`App Extension has no commands registered`)
return
}
const cmdList = Object.keys(hooks.commands).join(' | ')
ext.logger.log(`Command list: ${cmdList}`)
}
if (!cmd) {
list()View on GitHub (pinned to 4841521b5f)
Solutions
- Install the extension first: `quasar ext add <extId>`.
- List installed extensions with `quasar ext list` (or inspect quasar.config > extensions) to confirm the exact id.
- Check the id spelling against the extension's documentation.
Example fix
// before quasar run myext cmd // after quasar ext add @quasar/myext quasar run @quasar/myext cmd
Defensive patterns
Strategy: validation
Validate before calling
// check installed extensions before `quasar run`
const conf = JSON.parse(stripJsonComments(fs.readFileSync('quasar.config.js', 'utf8').replace(/export default[\s\S]*/, '')));
// simpler: verify the package exists
const pkg = `@quasar/${extId}`;
if (!fs.existsSync(`node_modules/${pkg}`)) await exec(`quasar ext add ${extId}`); Try / catch
try {
execSync(`quasar run ${extId} ${cmd}`, { stdio: 'inherit' });
} catch (err) {
if (String(err.stderr).includes('No such App Extension')) {
execSync(`quasar ext add ${extId}`, { stdio: 'inherit' });
execSync(`quasar run ${extId} ${cmd}`, { stdio: 'inherit' });
} else throw err;
} Prevention
- Always `quasar ext add <extId>` after cloning a project that uses extensions.
- List extensions (`quasar ext list`) to confirm ids before scripting `quasar run`.
- Commit extensions to quasar.config so fresh clones install them.
When it happens
Trigger: Calling `quasar run <extId> [cmd]` where `appExt.getInstance(extId)` returns undefined — the extension package is not installed in the project (run.js:38-45).
Common situations: Typo in the extension id; extension added in another project/branch; forgetting `quasar ext add` after cloning a repo; extension uninstalled but documentation still references `quasar run`.
Related errors
- Wrong number of parameters (${argv._.length}).
- Unknown action specified (${action}).
- No ${mode.toUpperCase()} support detected. Aborting.
- App Extension has no commands registered
- App Extension has no command called "${cmd}"
AI-assisted analysis of quasarframework/quasar@4841521b5f (2026-08-30).
Data as JSON: /api/errors/8409fe3e15069069.
Report an issue: GitHub.