{"record":{"id":"b64fa767018f6c67","repo":"quasarframework/quasar","slug":"unknown-action-specified-action","errorCode":null,"errorMessage":"Unknown action specified (${action}).","messagePattern":"Unknown action specified \\((.+?)\\)\\.","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"app-vite/lib/cmd/ext.js","lineNumber":87,"sourceCode":"      const prompts = ext.getPrompts()\n      const hasPrompts = Object.keys(prompts).length !== 0\n\n      console.log(\n        `  ${green(dot)} ${ext.extId}${hasPrompts ? ' (with prompts)' : ''}`\n      )\n\n      if (hasPrompts) {\n        console.log(JSON.stringify(prompts, null, 2))\n        console.log()\n      }\n    }\n  }\n} else {\n  const [action, extName] = argv._\n\n  if (!['add', 'remove', 'invoke', 'uninvoke'].includes(action)) {\n    console.log()\n    warn(`Unknown action specified (${action}).`)\n    showHelp()\n    process.exit(1)\n  }\n\n  const ext = appExt.createInstance(extName)\n\n  await ext[action === 'add' || action === 'invoke' ? 'install' : 'uninstall'](\n    action === 'invoke' || action === 'uninvoke'\n  )\n}\n","sourceCodeStart":69,"sourceCodeEnd":98,"githubUrl":"https://github.com/quasarframework/quasar/blob/4841521b5f635a971eb9e2710e5542efd194691b/app-vite/lib/cmd/ext.js#L69-L98","documentation":"'quasar ext <action> <name>' only supports the actions add, remove, invoke, and uninvoke. An unrecognized first parameter prints this warning, shows help, and exits with code 1.","triggerScenarios":"Running 'quasar ext install my-ext', 'quasar ext update my-ext', or any typo like 'quasar ext ad my-ext'.","commonSituations":"Muscle memory from npm-style verbs (install/update/uninstall), typos in the action word, or older documentation referencing renamed commands.","solutions":["Use one of: add, remove, invoke, uninvoke (e.g. 'quasar ext add my-ext').","Map npm verbs: install→add, uninstall→remove.","Run 'quasar ext --help' for the current command list."],"exampleFix":"// before\nquasar ext install @quasar/qmarkdown\n// after\nquasar ext add @quasar/qmarkdown","handlingStrategy":"validation","validationCode":"const VALID = ['add', 'remove', 'invoke', 'uninvoke'];\nif (!VALID.includes(action)) {\n  throw new Error(`Invalid action '${action}'. Use: ${VALID.join(', ')}`);\n}","typeGuard":"const isExtAction = (a) =>\n  ['add', 'remove', 'invoke', 'uninvoke'].includes(a);","tryCatchPattern":null,"preventionTips":["Map npm habits: install→add, uninstall→remove.","Validate the action word in wrapper scripts before shelling out.","Run 'quasar ext --help' for the canonical action list."],"tags":["cli","usage","unknown-command","app-extension"],"backgroundTag":"unknown-cli-command","analyzedSha":"4841521b5f635a971eb9e2710e5542efd194691b","analyzedAt":"2026-08-30T01:13:14.944Z","schemaVersion":2},"datasetVersion":"2026-08-30T03:17:51.788Z"}