Nuxt "vue-tsc" type check failure in CI
Nuxt's type check runs vue-tsc over your components and composables. It reports real type errors that the bundler does not enforce, so a job with type checking enabled fails where nuxt build alone would pass.
What this error means
A nuxi typecheck or vue-tsc --noEmit step fails with "Found N errors" and TypeScript codes such as TS2339 or TS2322 pointing into .vue files or composables.
app.vue:12:18 - error TS2339: Property 'title' does not exist on type '{}'.
Found 1 error in app.vue:12Common causes
Real type errors not caught by the bundler
The runtime build does not type check, so genuine type mismatches only surface when vue-tsc runs in CI.
Stale generated types
The .nuxt types are out of date because nuxt prepare did not run before the check, so types do not match the code.
How to fix it
Prepare types then run the check
- Run
nuxt prepareso.nuxttypes are current. - Run
nuxi typecheckand read each TS error. - Fix the type mismatches the check reports.
npx nuxt prepare
npx nuxi typecheckType the data so the property exists
Give the value an explicit type so the property access is valid.
const { data } = await useFetch<{ title: string }>('/api/page')How to prevent it
- Run
nuxt preparebeforevue-tscso generated types are fresh. - Type
useFetch/useAsyncDataresults explicitly. - Run the type check locally before pushing.