--- title: "NuxtApp" description: "In Nuxt 3, you can access runtime app context within composables, components and plugins." links: - label: Source icon: i-simple-icons-github to: https://github.com/nuxt/nuxt/blob/main/packages/nuxt/src/app/nuxt.ts --- In Nuxt 3, you can access runtime app context within composables, components and plugins. ::read-more{to="https://v2.nuxt.com/docs/internals-glossary/context#the-context" target="_blank"} In Nuxt 2, this was referred to as **Nuxt context**. :: ## Nuxt App Interface ::read-more{to="/docs/guide/going-further/internals#the-nuxtapp-interface"} Jump over the `NuxtApp` interface documentation. :: ## Accessing NuxtApp Within composables, plugins and components you can access `nuxtApp` with [`useNuxtApp()`](/docs/api/composables/use-nuxt-app): ```ts [composables/useMyComposable.ts] export function useMyComposable () { const nuxtApp = useNuxtApp() // access runtime nuxt app instance } ``` If your composable does not always need `nuxtApp` or you simply want to check if it is present or not, since [`useNuxtApp`](/docs/api/composables/use-nuxt-app) throws an exception, you can use [`tryUseNuxtApp`](/docs/api/composables/use-nuxt-app#tryusenuxtapp) instead. Plugins also receive `nuxtApp` as the first argument for convenience. :read-more{to="/docs/guide/directory-structure/plugins"} ## Providing Helpers You can provide helpers to be usable across all composables and application. This usually happens within a Nuxt plugin. ```ts const nuxtApp = useNuxtApp() nuxtApp.provide('hello', (name) => `Hello ${name}!`) console.log(nuxtApp.$hello('name')) // Prints "Hello name!" ``` ::read-more{to="/docs/guide/directory-structure/plugins#providing-helpers"} It is possible to inject helpers by returning an object with a `provide` key in plugins. :: ::read-more{to="https://v2.nuxt.com/docs/directory-structure/plugins#inject-in-root--context" target="_blank"} In Nuxt 2 plugins, this was referred to as **inject function**. ::