quasarframework/quasar · info
App Extension has no commands registered
Error message
App Extension has no commands registered
What it means
`quasar run <extId>` with no command name lists the extension's registered commands. If the extension's `run()` hooks expose an empty `commands` object, the CLI warns that there is nothing to list. Non-fatal; the command returns normally. The extension simply does not define any CLI commands.
Source
Thrown at app-vite/lib/cmd/run.js:54
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()
process.exit(0)
}
const fn = hooks.commands[cmd]
if (!fn) {
list()
warn()
ext.logger.warn(`App Extension has no command called "${cmd}"`)
warn()View on GitHub (pinned to 4841521b5f)
Solutions
- Nothing is broken — this extension registers no commands; use its other interfaces (config, boot files, hooks).
- Check the extension's docs for the correct subcommands or a newer version.
- Update the extension (`quasar ext update <extId>`) if its docs advertise commands.
Defensive patterns
Strategy: fallback
Try / catch
// not an error; parse the list output to detect command-less extensions
const out = execSync(`quasar run ${extId}`).toString();
if (out.includes('has no commands registered')) useExtensionDocsInstead(extId); Prevention
- Read the extension's README to see whether it exposes CLI commands at all.
- Treat this warning as informational — the extension works through hooks/config.
- Update the extension if its current docs advertise commands.
When it happens
Trigger: Running `quasar run <extId>` (list path) when `Object.keys(hooks.commands).length === 0` for the installed extension (run.js:52-56).
Common situations: Extensions that only provide install-time hooks (index.js with hooks but no commands) — expected output; running `quasar run` on an extension whose commands live under a different id; outdated extension version where commands were renamed or removed.
Related errors
- Wrong number of parameters (${argv._.length}).
- Unknown action specified (${action}).
- No such App Extension is installed
- App Extension has no command called "${cmd}"
- ERR_PARSE_ARGS_UNKNOWN_OPTION
AI-assisted analysis of quasarframework/quasar@4841521b5f (2026-08-30).
Data as JSON: /api/errors/f9cd86c0c9fa311c.
Report an issue: GitHub.