\n\nWhere I use config then, it shows me typing error.\nWhen I switch to the legacy tsconfig, typing issue are gone.\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell-script\nTypecheck summary: \n\n\n\napp/layouts/default.vue:35:33 - error TS2339: Property 'title' does not exist on type '{}'.\n\n35 title: appConfig.information?.title,\n ~~~~~\n\napp/layouts/default.vue:36:39 - error TS2339: Property 'description' does not exist on type '{}'.\n\n36 description: appConfig.information?.description,\n ~~~~~~~~~~~\n\napp/layouts/default.vue:39:36 - error TS2339: Property 'socials' does not exist on type '{}'.\n\n39 github: appConfig.information?.socials?.github,\n ~~~~~~~\n\napp/layouts/default.vue:40:38 - error TS2339: Property 'socials' does not exist on type '{}'.\n\n40 linkedin: appConfig.information?.socials?.linkedin,\n ~~~~~~~\n\napp/layouts/default.vue:41:40 - error TS2339: Property 'birthdate' does not exist on type '{}'.\n\n41 isBirthday: appConfig.information?.birthdate ? isBirthday(appConfig.information?.birthdate) : false,\n ~~~~~~~~~\n\napp/layouts/default.vue:41:86 - error TS2339: Property 'birthdate' does not exist on type '{}'.\n\n41 isBirthday: appConfig.information?.birthdate ? isBirthday(appConfig.information?.birthdate) : false,\n ~~~~~~~~~\n\napp/layouts/default.vue:44:27 - error TS2339: Property 'icons' does not exist on type '{}'.\n\n44 normal: appConfig.ui?.icons?.normal as string[] ?? [],\n ~~~~~\n\napp/layouts/default.vue:45:29 - error TS2339: Property 'icons' does not exist on type '{}'.\n\n45 birthday: appConfig.ui?.icons?.birthday as string[] ?? [],\n ~~~~~\n\napp/middleware/title.global.ts:5:28 - error TS2571: Object is of type 'unknown'.\n\n5 const appConfigTitle = useAppConfig().information.title;\n ~~~~~~~~~~~~~~~~~~~~~~~~~~\n\napp/pages/index.vue:14:62 - error TS2339: Property 'messages' does not exist on type '{}'.\n\n14 const messages = useState('randomIndex', () => appConfig.ui?.messages?.sort(() => Math.random() - 0.5))\n ~~~~~~~~\n\nnuxt.schema.ts:3:16 - error TS2304: Cannot find name 'defineNuxtSchema'.\n\n3 export default defineNuxtSchema({\n ~~~~~~~~~~~~~~~~\n\nnuxt.schema.ts:3:16 - error TS2304: Cannot find name 'defineNuxtSchema'.\n\n3 export default defineNuxtSchema({\n ~~~~~~~~~~~~~~~~\n\nnuxt.schema.ts:3:16 - error TS2304: Cannot find name 'defineNuxtSchema'.\n\n3 export default defineNuxtSchema({\n ~~~~~~~~~~~~~~~~\n```",[3139,3142],{"name":3140,"color":3141},"pending triage","E99695",{"name":3143,"color":3144},"possible regression","B90A42",32768,"nuxt","open","useAppConfig lose types from nuxt schema with new tsconfig","2025-07-25T22:51:01Z","https://github.com/nuxt/nuxt/issues/32768",0.71196187,{"description":3153,"labels":3154,"number":3161,"owner":3146,"repository":3162,"state":3163,"title":3164,"updated_at":3165,"url":3166,"score":3167},"### Description\n\n```ts\nexport default defineAppConfig({\n ui: {\n colors: {\n primary: 'blue',\n neutral: 'zinc'\n }\n }\n})\n```\n> When configuring your theme colors, you must use either color names from the [default Tailwind palette](https://tailwindcss.com/docs/colors) (like 'blue', 'green', etc.) or reference custom colors that you've previously defined in your [CSS file](https://ui.nuxt.com/getting-started/theme#theme).\n\nI think it would be good to add additional information about how to define color for default configuration so referenced color will be assigned. What I mean is, imagine you define a color in CSS:\n```css\n@theme static {\n --color-tory-blue: #ebf9ff;\n}\n```\n\nthen decide to override primary with that color:\n```ts\nexport default defineAppConfig({\n ui: {\n colors: {\n primary: 'tory-blue',\n }\n }\n})\n```\n\nit won't work. Except you just need to add -500 for light theme and -400 for dark theme.\n```css\n--color-tory-blue-400: #35cbff;\n--color-tory-blue-500: #07a8ff;\n```\n\n\n\n### Additional context\n\n[Link to doc](https://ui.nuxt.com/getting-started/theme#configuration)",[3155,3158],{"name":3156,"color":3157},"enhancement","a2eeef",{"name":3159,"color":3160},"triage","ffffff",4809,"ui","closed","Documentation is not very clear.","2025-09-11T15:22:14Z","https://github.com/nuxt/ui/issues/4809",0.6646812,{"description":3169,"labels":3170,"number":3175,"owner":3146,"repository":3146,"state":3163,"title":3176,"updated_at":3177,"url":3178,"score":3179},"### Environment\n\n- Operating System: `Darwin`\n- Node Version: `v22.12.0`\n- Nuxt Version: `3.15.1`\n- CLI Version: `3.20.0`\n- Nitro Version: `2.10.4`\n- Package Manager: `pnpm@9.15.2`\n- Builder: `-`\n- User Config: `compatibilityDate`, `devtools`, `modules`\n- Runtime Modules: `@nuxt/ui@2.20.0`\n- Build Modules: `-`\n\n\n### Reproduction\n\nhttps://stackblitz.com/edit/github-jxcmyybr?file=app.vue\n\n### Describe the bug\n\nAfter looping though all items in useAppConfig().ui.colors, i get a false positive error after assigning the item to a UBadge's color property, the color is still applied.\n\n### Logs\n\n```shell-script\n[The expected type comes from property 'color' which is declared here on type 'Partial\u003C{ size: BadgeSize; class: any; ui: { base?: string | undefined; rounded?: string | undefined; font?: string | undefined; size?: DeepPartial\u003C{ xs: string; sm: string; md: string; lg: string; }, any> | undefined; ... 4 more ...; default?: DeepPartial\u003C...> | undefined; } & { ...; } & { ...; }; ... 7 more ...; t...'](https://github.com/nuxt/nuxt/issues/30535#issue-2781450805)\n```",[3171,3172],{"name":3140,"color":3141},{"name":3173,"color":3174},"needs reproduction","FBCA04",30535,"Type 'string' is not assignable to type 'BadgeColor | undefined'.ts-plugin(2322)","2025-01-12T23:05:37Z","https://github.com/nuxt/nuxt/issues/30535",0.67395043,{"description":3181,"labels":3182,"number":3190,"owner":3146,"repository":3146,"state":3163,"title":3191,"updated_at":3192,"url":3193,"score":3194},"### Environment\n\n------------------------------\r\n- Operating System: `Darwin`\r\n- Node Version: `v16.16.0`\r\n- Nuxt Version: `3.2.0`\r\n- Nitro Version: `2.2.1`\r\n- Package Manager: `yarn@1.22.19`\r\n- Builder: `vite`\r\n- User Config: `app`, `typescript`, `runtimeConfig`, `modules`, `colorMode`, `tailwindcss`\r\n- Runtime Modules: `@nuxtjs/color-mode@3.2.0`, `nuxt-icon@0.1.8`, `@nuxtjs/tailwindcss@6.1.3`, `@pinia/nuxt@0.4.6`\r\n- Build Modules: `-`\r\n------------------------------\n\n### Reproduction\n\n1. `yarn upgrade nuxt --latest`\r\n2. `yarn dev`\r\n```\r\n ERROR Cannot start nuxt: Cannot find module 'postcss-custom-properties'\r\n```\r\n3. Open `nuxt.config.ts` will see this on the `colorMode` property.\r\n```\r\nArgument of type '{ app: { head: { link: { rel: \"icon\"; type: \"image/svg+xml\"; href: string; }[]; }; }; typescript: { shim: false; strict: true; }; runtimeConfig: { apiSecret: string; public: { apiBase: string; }; }; modules: (string | [...])[]; colorMode: { ...; }; tailwindcss: { ...; }; }' is not assignable to parameter of type 'NuxtConfig'.\r\n Object literal may only specify known properties, and 'colorMode' does not exist in type 'NuxtConfig'.\r\n```\n\n### Describe the bug\n\nAfter upgrading nuxt `3.0.0` to `3.2.0`, will see the problems.\r\n\r\n1. `colorMode` module option in nuxt `3.0.0` shows the type as\r\n```\r\n(property) NuxtConfig['colorMode']?: Partial\u003CModuleOptions> | undefined\r\n```\r\nbut shows error in nuxt `3.2.0`.\r\n\r\n2. We need to install `postcss-custom-properties` in nuxt `3.2.0`, didn't need it in nuxt `3.0.0`.\n\n### Additional context\n\n_No response_\n\n### Logs\n\n_No response_",[3183,3186,3189],{"name":3184,"color":3185},"3.x","29bc7f",{"name":3187,"color":3188},"upstream","E8A36D",{"name":3173,"color":3174},18933,"After upgrading Nuxt 3.0.0 to 3.2.0 problem","2024-01-09T06:07:13Z","https://github.com/nuxt/nuxt/issues/18933",0.68895245,{"description":3196,"labels":3197,"number":3205,"owner":3146,"repository":3162,"state":3163,"title":3206,"updated_at":3207,"url":3208,"score":3209},"### Environment\n\n- Operating System: Linux\n- Node Version: v22.13.1\n- Nuxt Version: 3.16.0\n- CLI Version: 3.23.0\n- Nitro Version: 2.11.6\n- Package Manager: npm@11.1.0\n- Builder: -\n- User Config: app, build, colorMode, compatibilityDate, debug, devtools, future, hooks, i18n, icon, imports, modules, nitro, routeRules, runtimeConfig, security, ssr, sourcemap, css, telemetry, vite\n- Runtime Modules: @nuxt/eslint@1.2.0, @pinia/nuxt@0.10.1, @vueuse/nuxt@13.0.0, @nuxtjs/i18n@9.3.1, nuxt-security@2.2.0, @nuxt/ui@3.0.0\n- Build Modules: -\n\n### Is this bug related to Nuxt or Vue?\n\nNuxt\n\n### Version\n\nv3.0.0\n\n### Reproduction\n\nhttps://codesandbox.io/p/devbox/wonderful-violet-jrsqy9\n\n### Description\n\nI get a type error when using an array of strings for the `variant` key inside of `compoundVariants´:\n\n```ts\nexport default defineAppConfig({\n ui: {\n colors: {\n primary: \"green\",\n neutral: \"slate\",\n },\n select: {\n compoundVariants: [\n {\n color: \"primary\",\n variant: [\"outline\", \"subtle\"],\n class: \"data-[state='open']:ring\",\n },\n ],\n },\n },\n});\n```\n\n```\napp/app.config.ts:11:11 - error TS2322: Type 'string[]' is not assignable to type 'string'.\n\n11 variant: [\"outline\", \"subtle\"],\n ~~~~~~~\n```\n\nIt does work tho, so its only a type issue I think.\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell-script\n\n```",[3198,3201,3204],{"name":3199,"color":3200},"bug","d73a4a",{"name":3202,"color":3203},"v3","49DCB8",{"name":3159,"color":3160},3579,"Type error in app config `compoundVariants`","2025-05-02T15:06:25Z","https://github.com/nuxt/ui/issues/3579",0.6930505,{"description":3211,"labels":3212,"number":3214,"owner":3146,"repository":3146,"state":3163,"title":3215,"updated_at":3216,"url":3217,"score":3218},"### Environment\r\n\r\n------------------------------\r\n- Operating System: Windows_NT\r\n- Node Version: v20.10.0\r\n- Nuxt Version: 3.10.3\r\n- CLI Version: 3.10.1\r\n- Nitro Version: 2.9.1\r\n- Package Manager: npm@10.2.3\r\n- Builder: -\r\n- User Config: devtools\r\n- Runtime Modules: -\r\n- Build Modules: -\r\n------------------------------\r\n\r\n### Reproduction\r\n\r\nhttps://stackblitz.com/edit/nuxt-starter-zges3w?file=types%2Fapp.config.d.ts,app.vue,types%2Fvariables.d.ts\r\n\r\n### Describe the bug\r\n\r\nWhen referencing `theme` from `useAppConfig`, typescript should **always** allow both the `primary` and `secondary` type as possible values.\r\n\r\nThis should be possible by overriding the App Config Output as described here: https://nuxt.com/docs/guide/directory-structure/app-config#app-config-output.\r\n\r\nHowever, that does not work when using `extends` and only works when the `AppConfig` interface has the overriding types explicitly written out.\r\n\r\nStackblitz doesn't visibly show the error, but VS Code with the volar extensions does:\r\n\r\n\r\n### Additional context\r\n\r\nI use this pattern in a monorepo where there is a `base` layer with components that take in the config set by child sites.\r\n\r\nThis **does** work if `export {};` is **not** declared after `declare module '@nuxt/schema'`. However this will break types in `nuxt.config.ts`\r\n\r\n### Logs\r\n\r\n_No response_",[3213],{"name":3140,"color":3141},26116,"interface AppConfig does not take types when using `extends`","2024-12-16T12:46:25Z","https://github.com/nuxt/nuxt/issues/26116",0.7001561,{"labels":3220,"number":3229,"owner":3146,"repository":3146,"state":3163,"title":3230,"updated_at":3231,"url":3232,"score":3233},[3221,3222,3223,3226],{"name":3184,"color":3185},{"name":3199,"color":3200},{"name":3224,"color":3225},"❗ p4-important","D93F0B",{"name":3227,"color":3228},"schema","1d76db",13344,"module config types aren't recognised in `defineNuxtConfig()`","2023-01-19T16:53:03Z","https://github.com/nuxt/nuxt/issues/13344",0.707184,{"description":3235,"labels":3236,"number":3237,"owner":3146,"repository":3146,"state":3163,"title":3238,"updated_at":3239,"url":3240,"score":3241},"### Environment\r\n\r\n- Operating System: `Darwin`\r\n- Node Version: `v16.11.0`\r\n- Nuxt Version: `3-3.0.0-27234503.d5127e9`\r\n- Package Manager: `Yarn`\r\n- Bundler: `Vite`\r\n- User Config: `vite`, `publicRuntimeConfig`\r\n- Runtime Modules: `-`\r\n- Build Modules: `-`\r\n\r\n\r\n### Describe the bug\r\n\r\nWhen trying to add a variable to **publicRuntimeConfig** in _nuxt.config.ts_, typescript indicates that the added values are invalid. And that only allows app values.\r\n\r\n\r\n\r\n\r\n### Reproduction\r\n\r\nJust have a empty project with typescript and add a custom variable to publicRuntimeConfig\r\n\r\n### Additional context\r\n\r\nMaybe here?: https://github.com/nuxt/framework/blob/main/packages/kit/src/config/schema/_common.ts#L699\r\n\r\n``` javascript\r\npublicRuntimeConfig: {\r\n app: {\r\n [key: string]: any\r\n },\r\n **[key: string]: any**\r\n},\r\n```\r\n\r\nAdd **[key: string]: any** ??\r\n\r\n### Logs\r\n\r\n```shell\r\nError: TS2322: Type '{ apiURL: string; }' is not assignable to type '{ app: { [key: string]: any; }; } | DeepPartial\u003C{ app: { [key: string]: any; }; }>'. Object literal may only specify known properties, and 'apiURL' does not exist in type '{ app: { [key: string]: any; }; } | DeepPartial\u003C{ app: { [key: string]: any; }; }>'. index.d.ts(1040, 3): The expected type comes from property 'publicRuntimeConfig' which is declared here on type 'NuxtConfig'\r\n```\r\n\r\nFile: nuxt.config.ts\r\n\r\n\r\n\r\n",[],12179,"Typescript publicRuntimeConfig don't allow other variables","2023-01-19T15:59:15Z","https://github.com/nuxt/nuxt/issues/12179",0.71324515,{"labels":3243,"number":3244,"owner":3146,"repository":3146,"state":3163,"title":3238,"updated_at":3245,"url":3246,"score":3241},[],12241,"2023-01-19T16:00:23Z","https://github.com/nuxt/nuxt/issues/12241",{"description":3235,"labels":3248,"number":3249,"owner":3146,"repository":3146,"state":3163,"title":3238,"updated_at":3250,"url":3251,"score":3241},[],12311,"2023-01-19T16:02:56Z","https://github.com/nuxt/nuxt/issues/12311",["Reactive",3253],{},["Set"],["ShallowReactive",3256],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fimOe4amTNHGrTEF65g8LWR3WhS1u0lPnerovjP44MWU":-1},"/nuxt/ui/2984"]