quasarframework/quasar · warning

Quasar App Extension is not installed...

Error message

Quasar App Extension is not installed...

What it means

quasar ext <name> uninstall / ext remove checks this.isInstalled (npm package present in the project). If the package was never installed (or already removed from node_modules/package.json), it warns and returns without touching the app-ext registry — the uninstall is a no-op instead of an error.

Source

Thrown at app-vite/lib/app-extension/AppExtensionInstance.js:272

      hooks.exitLog.forEach(msg => {
        console.log(msg)
      })
      console.log()
    }
  }

  async uninstall(skipPkgUninstall) {
    this.logger.log(skipPkgUninstall ? 'Uninvoking...' : 'Uninstalling...')

    // verify if already installed
    if (skipPkgUninstall) {
      if (!this.isInstalled) {
        this.logger.fatal(
          `Tried to uninvoke App Extension but there's no npm package installed for it.`
        )
      }
    } else if (!this.isInstalled) {
      this.logger.warn(`Quasar App Extension is not installed...`)
      return
    }

    const hooks = await this.#runUninstallScript()

    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()

View on GitHub (pinned to 4841521b5f)

Solutions

  1. If the goal was cleanup, manually remove leftover config in quasar.config (extensions array) and .quasar/app-ext.json entry
  2. Verify the extension id spelling (e.g. @quasar/quasar-app-extension-x vs x)
  3. Run pnpm install / npm install if node_modules is incomplete, then retry
  4. Nothing to fix if intentional — the warning confirms there is nothing installed

Example fix

// before
quasar ext uninstall quasar-app-extension-tyop
// after: use the exact published package/ext id
quasar ext uninstall @quasar/quasar-app-extension-apollo
Defensive patterns

Strategy: validation

Validate before calling

// before uninstalling, confirm the package exists
const pkg = require('./package.json')
const id = '@quasar/quasar-app-extension-apollo'
if (!pkg.devDependencies?.[id] && !pkg.dependencies?.[id]) {
  console.log('Nothing to uninstall; cleaning quasar.config manually')
}

Prevention

When it happens

Trigger: Running `quasar ext uninstall <ext-id>` (or the uninstall path of AppExtensionInstance) when the extension's npm package is not in the project's dependencies/node_modules.

Common situations: Extension manually removed with npm uninstall but its entry handling still invoked; wrong extension id typed so it resolves to a non-installed package; a failed install left nothing to uninstall; running in a fresh clone where node_modules wasn't fully installed.

Related errors


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