\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```",[3019,3022],{"name":3020,"color":3021},"pending triage","E99695",{"name":3023,"color":3024},"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.63308144,{"description":3033,"labels":3034,"number":3044,"owner":3026,"repository":3026,"state":3027,"title":3045,"updated_at":3046,"url":3047,"score":3048},"### Environment\n\n- Operating System: Linux\r\n- Node Version: v18.18.0\r\n- Nuxt Version: 3.11.0\r\n- CLI Version: 3.11.0\r\n- Nitro Version: 2.9.4\r\n- Package Manager: pnpm@8.15.3\r\n- Builder: -\r\n- User Config: extends, devtools\r\n- Runtime Modules: -\r\n- Build Modules: -\n\n### Reproduction\n\nhttps://stackblitz.com/edit/nuxt-starter-phhs1r\r\n\r\nSteps to reproduce: \r\n- pnpm i\r\n- pnpm nuxi prepare\r\n- pnpm typecheck\n\n### Describe the bug\n\nThe problem is with typing `app.config.ts` when there are more than 11 configs merged from layers. Then we get error `TS2589: Type instantiation is excessively deep and possibly infinite ` and all fields in config have type `unknown`. It is a bit strange and I am not sure if it is a Nuxt problem. Maybe it is something with the `Defu` type or maybe with Typescript itself. \r\n\r\nIf you remove some `app.config` from the layer or remove some layer from the `extends` config (less than 12 in total including main app.config), then typecheck will succeed.\r\n\r\nThis is not critical, but we have many layers with their own `app.config` and we use typecheck with build. As a result we need to keep the layer related config not in the layer itself. By the way, the layers feature is great and I am very grateful to you guys for that!\r\n\r\nI have tried to find out what is going on but the `Defu` type is a bit complicated for me and I have failed. If I can help in any way, please let me know.\n\n### Additional context\n\nThere is open issue with this error in typescript repo https://github.com/microsoft/TypeScript/issues/34933\n\n### Logs\n\n```shell-script\nerror TS2589: Type instantiation is excessively deep and possibly infinite\n```\n",[3035,3038,3041],{"name":3036,"color":3037},"types","2875C3",{"name":3039,"color":3040},"bug","d73a4a",{"name":3042,"color":3043},"🔨 p3-minor","FBCA04",26371,"Typecheck error with multiply layers app.config","2024-11-19T16:21:04Z","https://github.com/nuxt/nuxt/issues/26371",0.6504976,{"description":3050,"labels":3051,"number":3057,"owner":3026,"repository":3026,"state":3027,"title":3058,"updated_at":3059,"url":3060,"score":3061},"### Environment\n\nnuxt 3.15.4\n\n\n### Reproduction\n\n[This example repo](https://github.com/marr/npm-linked-nuxt-layer) contains two projects, `app` and `layer`. It is not a monorepo (unfortunately) and the goal is to build the layer in tandem with the app. The core issue I am having is that when my app which has `extend: ['my-nuxt-layer']` in the config uses a `npm link` to link the package, things break down. I discovered that `@nuxtjs/i18n` v8 illustrates the issue through something it does, but it is only used as an example to illustrate the error I am trying to debug here. Upgrading to v9 fixes the error, and I believe it was from a PR I will link below.\n\n```\nnuxt prepare && nuxt typecheck\n\n✔ Types generated in .nuxt nuxi 12:29:26 PM\n../layer/components/HelloWorld.vue:3:15 - error TS2571: Object is of type 'unknown'.\n\n3 const { y } = useRuntimeConfig().public.foo.deep;\n ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n```\n\nThis error shows that the public config is of type unknown, and throws when trying to use it as an object. The fact that vue-tsc complains about the `../layer` dir tells me something is amiss. I have tried the `preserveSymlinks` options in tsconfig, but that doesn't seem to help.\n\nI can also share a working generated .nuxt/tsconfig.json vs a non-working one. The upstream offender in this case, @nuxtjs/i18n, fixed the issue here I believe https://github.com/nuxt-modules/i18n/pull/3212. This reproduction is just an example of a broken state that I am also experiencing in a larger project that I cannot share.\n\n \n\n\n### Describe the bug\n\nThe nuxt context appears unavailable when using symlinked layers. It seems either nuxtr or vue-tsc gets confused by the linked directories.\n\n### Additional context\n\nHere the v8 file is the non-working one and the v9 one works.\n\nhttps://gist.github.com/marr/a437f7b9433c371c5fc7cbaf295ce931\n\n### Logs\n\n```shell-script\n\n```",[3052,3053,3054],{"name":3036,"color":3037},{"name":3020,"color":3021},{"name":3055,"color":3056},"upstream","E8A36D",30993,"public runtimeConfig types are unknown when using symlinked layers","2025-02-22T21:31:16Z","https://github.com/nuxt/nuxt/issues/30993",0.6686172,{"description":3063,"labels":3064,"number":3071,"owner":3026,"repository":3026,"state":3027,"title":3072,"updated_at":3073,"url":3074,"score":3075},"### Environment\n\n- Operating System: `Linux`\r\n- Node Version: `v16.14.2`\r\n- Nuxt Version: `3.0.0`\r\n- Nitro Version: `1.0.0`\r\n- Package Manager: `npm@7.17.0`\r\n- Builder: `vite`\r\n- User Config: `-`\r\n- Runtime Modules: `-`\r\n- Build Modules: `-`\n\n### Reproduction\n\nhttps://stackblitz.com/edit/github-stl7dc?file=nuxt.config.ts\n\n### Describe the bug\n\nNuxt generates invalid types for an array of objects inside `runtimeConfig`\r\nWhen we set `typeCheck: true` and would like to return the config in some function the vue-tsc throws an error.\r\n\r\nI was also trying to manually type the runtimeConfig according to the instructions but looks like typescript doesn't care about it.\r\nhttps://nuxt.com/docs/guide/going-further/runtime-config#manually-typing-runtime-config\n\n### Additional context\n\n_No response_\n\n### Logs\n\n_No response_",[3065,3066,3069,3070],{"name":3036,"color":3037},{"name":3067,"color":3068},"workaround available","11376d",{"name":3039,"color":3040},{"name":3055,"color":3056},12400,"Nuxt generates invalid types for an array of objects in runtimeConfig - nuxt.config.ts","2025-01-18T13:52:52Z","https://github.com/nuxt/nuxt/issues/12400",0.67167395,{"description":3077,"labels":3078,"number":3079,"owner":3026,"repository":3080,"state":3027,"title":3081,"updated_at":3082,"url":3083,"score":3084},"Hi! 👋 \r\n \r\nFirstly, thanks for your work on this project! 🙂\r\n\r\nToday I used [patch-package](https://github.com/ds300/patch-package) to patch `nuxt-icon@0.6.1` for the project I'm working on.\r\n\r\n\r\n### Original problem\r\n\r\nWhen building my SSR nuxt app for production, I got these errors:\r\n\r\n```bash\r\nℹ Building server... 1:35:26 PM\r\nℹ vite v4.5.0 building SSR bundle for production... 1:35:26 PM\r\ntransforming (103) ../node_modules/nuxt/dist/app/compat/capi.jsnode_modules/nuxt-icon/dist/runtime/Icon.vue:10:19 - error TS2352: Conversion of type 'AppConfig' to type '{ nuxtIcon: { size?: string | undefined; class?: string | undefined; aliases?: Record\u003Cstring, string> | undefined; iconifyApiOptions?: { url?: string | undefined; publicApiFallback?: boolean | undefined; } | undefined; }; }' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first.\r\n Property 'nuxtIcon' is missing in type 'AppConfig' but required in type '{ nuxtIcon: { size?: string | undefined; class?: string | undefined; aliases?: Record\u003Cstring, string> | undefined; iconifyApiOptions?: { url?: string | undefined; publicApiFallback?: boolean | undefined; } | undefined; }; }'.\r\n\r\n 10 const appConfig = useAppConfig() as {\r\n ~~~~~~~~~~~~~~~~~~~\r\n 11 nuxtIcon: {\r\n ~~~~~~~~~~~~~\r\n... \r\n 19 }\r\n ~~~\r\n 20 }\r\n ~\r\n\r\n node_modules/nuxt-icon/dist/runtime/Icon.vue:11:3\r\n 11 nuxtIcon: {\r\n ~~~~~~~~\r\n 'nuxtIcon' is declared here.\r\n\r\nnode_modules/nuxt-icon/dist/runtime/IconCSS.vue:5:19 - error TS2352: Conversion of type 'AppConfig' to type '{ nuxtIcon: { size?: string | undefined; class?: string | undefined; aliases?: Record\u003Cstring, string> | undefined; iconifyApiOptions?: { url?: string | undefined; publicApiFallback?: boolean | undefined; } | undefined; }; }' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first.\r\n Property 'nuxtIcon' is missing in type 'AppConfig' but required in type '{ nuxtIcon: { size?: string | undefined; class?: string | undefined; aliases?: Record\u003Cstring, string> | undefined; iconifyApiOptions?: { url?: string | undefined; publicApiFallback?: boolean | undefined; } | undefined; }; }'.\r\n\r\n 5 const appConfig = useAppConfig() as {\r\n ~~~~~~~~~~~~~~~~~~~\r\n 6 nuxtIcon: {\r\n ~~~~~~~~~~~~~\r\n... \r\n 14 }\r\n ~~~\r\n 15 }\r\n ~\r\n\r\n node_modules/nuxt-icon/dist/runtime/IconCSS.vue:6:3\r\n 6 nuxtIcon: {\r\n ~~~~~~~~\r\n 'nuxtIcon' is declared here.\r\n\r\n\r\nFound 2 errors in 2 files.\r\n\r\nErrors Files\r\n 1 node_modules/nuxt-icon/dist/runtime/Icon.vue:10\r\n 1 node_modules/nuxt-icon/dist/runtime/IconCSS.vue:5\r\n\r\n```\r\n\r\n\r\n\r\nHere is the diff that solved my problem:\r\n\r\n```diff\r\ndiff --git a/node_modules/nuxt-icon/dist/runtime/Icon.vue b/node_modules/nuxt-icon/dist/runtime/Icon.vue\r\nindex 1546625..c170029 100644\r\n--- a/node_modules/nuxt-icon/dist/runtime/Icon.vue\r\n+++ b/node_modules/nuxt-icon/dist/runtime/Icon.vue\r\n@@ -4,10 +4,11 @@ import type { IconifyIcon } from '@iconify/vue'\r\n import { Icon as Iconify } from '@iconify/vue/dist/offline'\r\n import { loadIcon, addAPIProvider } from '@iconify/vue'\r\n import { ref, computed, watch } from 'vue'\r\n+// @ts-ignore\r\n import { useAppConfig, useNuxtApp, useState } from '#imports'\r\n \r\n const nuxtApp = useNuxtApp()\r\n-const appConfig = useAppConfig() as {\r\n+const appConfig = useAppConfig() as unknown as {\r\n nuxtIcon: {\r\n size?: string\r\n class?: string\r\ndiff --git a/node_modules/nuxt-icon/dist/runtime/IconCSS.vue b/node_modules/nuxt-icon/dist/runtime/IconCSS.vue\r\nindex fcef2d3..aee8c81 100644\r\n--- a/node_modules/nuxt-icon/dist/runtime/IconCSS.vue\r\n+++ b/node_modules/nuxt-icon/dist/runtime/IconCSS.vue\r\n@@ -1,8 +1,9 @@\r\n \u003Cscript setup lang=\"ts\">\r\n import { computed } from 'vue'\r\n+// @ts-ignore\r\n import { useAppConfig } from '#imports'\r\n \r\n-const appConfig = useAppConfig() as {\r\n+const appConfig = useAppConfig() as unknown as {\r\n nuxtIcon: {\r\n size?: string\r\n class?: string\r\n```\r\n\r\n\u003Cem>This issue body was [partially generated by patch-package](https://github.com/ds300/patch-package/issues/296).\u003C/em>\r\n",[],117,"icon","Typescript error converting AppConfig to a type with { nuxtConfig }","2023-11-17T00:29:41Z","https://github.com/nuxt/icon/issues/117",0.6721197,{"description":3086,"labels":3087,"number":3094,"owner":3026,"repository":3026,"state":3027,"title":3095,"updated_at":3096,"url":3097,"score":3098},"### Describe the feature\r\n\r\nHi :wave: , \r\nIt would be nice to be able to use `useAppConfig` within modules since this can be used by modules to get non-stringifyable data in plugins. \r\n\r\nCurrently there's like a dependency loop when we import an `app.config.ts` (in a module file) with \r\n\r\n````ts\r\nimport { defineAppConfig } from \"nuxt/app\"\r\nexport default defineAppConfig({ /* ..... */ })\r\n````\r\nif we don't specify the import, the import will fail since `app.config.ts` has not been transformed.\r\n\r\nusing `useAppConfig()` in modules triggers the same issue since it need to be imported from `nuxt/app`\r\n\r\n### Additional information\r\n\r\n- [ ] Would you be willing to help implement this feature?\r\n- [ ] Could this feature be implemented as a module?\r\n\r\n### Final checks\r\n\r\n- [X] Read the [contribution guide](https://nuxt.com/docs/community/contribution).\r\n- [X] Check existing [discussions](https://github.com/nuxt/nuxt/discussions) and [issues](https://github.com/nuxt/nuxt/issues).",[3088,3091],{"name":3089,"color":3090},"documentation","5319e7",{"name":3092,"color":3093},"🍰 p2-nice-to-have","0E8A16",18762,"Allow sharing app config with build-time modules","2024-06-30T11:09:31Z","https://github.com/nuxt/nuxt/issues/18762",0.6763911,{"description":3100,"labels":3101,"number":3103,"owner":3026,"repository":3026,"state":3104,"title":3105,"updated_at":3106,"url":3107,"score":3108},"### 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_",[3102],{"name":3020,"color":3021},26116,"closed","interface AppConfig does not take types when using `extends`","2024-12-16T12:46:25Z","https://github.com/nuxt/nuxt/issues/26116",0.6283705,{"description":3110,"labels":3111,"number":3118,"owner":3026,"repository":3026,"state":3104,"title":3119,"updated_at":3120,"url":3121,"score":3122},"### Environment\r\n\r\n- Operating System: `Darwin`\r\n- Node Version: `v18.8.0`\r\n- Nuxt Version: `3.1.1`\r\n- Nitro Version: `2.1.0`\r\n- Package Manager: `npm@8.18.0`\r\n- Builder: `vite`\r\n- User Config: `-`\r\n- Runtime Modules: `-`\r\n- Build Modules: `-`\r\n\r\n\r\n### Reproduction\r\n\r\n*\r\n\r\n### Describe the bug\r\n\r\nAfter updating from 3.0.0 to 3.1.1\r\nI'm getting errors from vue-tsc like Property 'x' does not exist on type 'AppConfig' \r\n\r\nI was trying to declare interface AppConfigInput in index.d.ts like here\r\nhttps://nuxt.com/docs/guide/directory-structure/app-config#manually-typing-app-config\r\nI also added to nuxt.config.ts\r\nexperimental: { configSchema: true, },\r\n\r\ninsideapp.config.ts I have an empty object.\r\nexport default defineAppConfig({})\r\nI'm setting appConfig dynamically based on process.env (in nuxt.config.ts), ofc it has valid types there\r\nBut it should be merged anyway.\r\n\r\n### Additional context\r\n\r\nhttps://github.com/nuxt/nuxt/pull/18410\r\n\r\n### Logs\r\n\r\n_No response_",[3112,3115,3116],{"name":3113,"color":3114},"3.x","29bc7f",{"name":3020,"color":3021},{"name":3117,"color":3043},"needs reproduction",18555,"3.1.1 - Typing AppConfig stopped work after upgrade","2023-03-20T15:38:42Z","https://github.com/nuxt/nuxt/issues/18555",0.62837726,{"description":3124,"labels":3125,"number":3133,"owner":3026,"repository":3026,"state":3104,"title":3134,"updated_at":3135,"url":3136,"score":3137},"In Nuxt 3, we have introduced a new package `@nuxt/schema` that holds types, defaults, and documentation for all build-in configurations for Nuxt and from one source using [untyped](https://github.com/unjs/untyped). In comparation with Nuxt 2, these were separately maintained, often with inconsistencies. This new system is also designed to be future proof to be able to **manage configuration via UI** using generated (JSON)Schema files and also **runtime validation** to notice any usage issues.\r\n\r\nFor Nuxt modules, it is already possible to extend a typescript interface `ModuleOptions` to provide types, however it has same limitations of Nuxt 2 era. We have introduced new `schema` in new `@nuxt/kit` module definition system however it became unused.\r\n\r\nWith the introduction of Nuxt Layers, themes can also now require some specific configuration. Most importantly for configuring `runtimeConfig` and app config (either via `appConfig` or `app.config`)\r\n\r\nFor this, we can use the same tooling (untyped) as a built-in feature to allow providing custom configuration schemas from Nuxt layers and modules (also directly from a Nuxt project). Benefiting from most possibilities (note 1) we have already for core config.\r\n\r\nWe have made an experiment [nuxt-experiments/nuxt-config-schema](https://github.com/nuxt-experiments/nuxt-config-schema) that is now almost ready to be moved into a core experiment, allowing to make it better usable. It is possible to provide custom config schema for nuxt projects in different ways:\r\n\r\n- Using `nuxt.schema.ts` in main Nuxt project or a layer\r\n- Using `$schema` key in `nuxt.config`\r\n- Extend `nuxt.options.$schema` for modules\r\n- Extend schema using `schema:extend`, `schema:resolved` and `schema:beforeWrite` for modules (note 2)\r\n- Use `schema` in `defineNuxtModule` (recommended way for modules. also supports defaults)\r\n\r\nThe output will be in `.nuxt` directory and initially mainly usable for the Augmentation of types and custom purposes such as UI.\r\n\r\n\r\n**Notes:**\r\n\r\nnote 1: Since development and trial of the experimental module, one particularly important point we found is that, unlike the core usage, mixing schema with defaults is not a good practice. We can only merge schema after modules are setup and it is too late for them to **re**apply new defaults and do their config handling logic and also it makes it much harder to merge runtime configuration such as `app.config` since custom merger logic resides in runtime while schema is in the build-time namespace and merging strategy is different.\r\n\r\nnote 2: We have introduced two separate hooks. `extend`/`resolve` as main way to extend schema just after all modules are initialized and before core or any other place tries to use schema and another `beforeWrite` as last resort (less recommended) for when a module needs to extend schema based on build aftertifacts coming from webpack, rollup or nitro's rollup step and it mainly and only affects the written files.\r\n\r\n\r\n\r\n\r\n\r\n",[3126,3129,3132],{"name":3127,"color":3128},"enhancement","8DEF37",{"name":3130,"color":3131},"discussion","538de2",{"name":3113,"color":3114},15592,"Custom config schema","2023-04-07T01:47:49Z","https://github.com/nuxt/nuxt/issues/15592",0.63637435,{"description":3139,"labels":3140,"number":3143,"owner":3026,"repository":3026,"state":3104,"title":3144,"updated_at":3145,"url":3146,"score":3147},"### Environment\n\nWorking directory: /home/projects/github-xfi7iq 5:27:10 PM\r\nNuxt project info: 5:27:10 PM\r\n\r\n------------------------------\r\n- Operating System: Linux\r\n- Node Version: v18.18.0\r\n- Nuxt Version: 3.10.3\r\n- CLI Version: 3.10.1\r\n- Nitro Version: 2.9.3\r\n- Package Manager: npm@10.2.3\r\n- Builder: -\r\n- User Config: devtools, runtimeConfig\r\n- Runtime Modules: -\r\n- Build Modules: -\r\n------------------------------\n\n### Reproduction\n\nhttps://stackblitz.com/edit/github-xfi7iq?file=utils%2Fconfig.ts\r\n\r\n\r\n\r\n`app.config.ts`\r\n```javascript\r\nexport default defineAppConfig({\r\n foo: 'bar',\r\n});\r\n\r\n```\r\n\r\n`utils/config.ts`\r\n```javascript\r\nconst appConfig = useAppConfig();\r\nappConfig.foo // 👈 no typing\r\n```\n\n### Describe the bug\n\nA typed app config is expected from `useAppConfig()`, but unfortunately it does not work.\r\n\r\nFrom the docs\r\n\"Nuxt tries to automatically generate a TypeScript interface from provided app config so you won't have to type it yourself.\"\r\n\r\n\r\n\n\n### Additional context\n\nTooltip for app config variable does not show type string:\r\n\r\n\r\nTo prove typing works, tooltip for runtime config does show correct typing:\r\n\r\n\r\n\n\n### Logs\n\n_No response_",[3141,3142],{"name":3113,"color":3114},{"name":3020,"color":3021},26201,"app.config.ts typing fails","2024-03-11T22:45:24Z","https://github.com/nuxt/nuxt/issues/26201",0.6511912,["Reactive",3149],{},["Set"],["ShallowReactive",3152],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$ft5t0BCcaH1ivg_A8pFq8vlOJxygzDPZYe_BT_6pYwiI":-1},"/nuxt/nuxt/31492"]