---
title: "Nuxt App Hooks · Nuxt Scripts"
meta:
  description: "Nuxt Scripts lets you load third-party scripts with better performance, privacy, security and DX. It includes many popular third-parties out of the box."
  "og:description": "Nuxt Scripts lets you load third-party scripts with better performance, privacy, security and DX. It includes many popular third-parties out of the box."
  "og:title": "Nuxt App Hooks · Nuxt Scripts"
---

```

Nuxt Scripts on GitHub

**

**Api**

# **Nuxt App Hooks**

[Copy for LLMs](https://scripts.nuxt.com/docs/v0/api/nuxt-app-hooks.md)

## `scripts:updated`

- Type: `async (ctx: { scripts: ScriptRegistry }) => HookResult`

Triggered after the script status is updated.

This is used internally for the DevTools but can be used however you see fit.

plugins/nuxt-scripts.ts

```
export default defineNuxtPlugin({
  setup() {
    useNuxtApp().hooks.hook('scripts:updated', (ctx) => {
      console.log('Scripts updated', ctx.scripts)
    })
  }
})
```## `script:instance-fn`- Type: `(ctx: { script: ScriptInstance<any>, fn: string | symbol, args: any, exists: boolean }) => HookResult` This is exposed only from Unhead, it's fired when accessing properties via the proxy instance. This is also used internally for the DevTools but can be used however you see fit.```
export default defineNuxtPlugin({
  setup() {
    const head = injectHead()
    head.hooks.hook('script:instance-fn', ({ fn, args }) => {
      console.log('Function called:', ctx)
    })
    const { proxy } = useScript()
    proxy.doSomething() // Function called: doSomething
  }
})
```[~~Edit this page~~](https://github.com/nuxt/scripts/edit/0.x/docs/content/docs/v0/3.api/6.nuxt-app-hooks.md) [~~Markdown For LLMs~~](https://scripts.nuxt.com/docs/v0/api/nuxt-app-hooks.md) [**Nuxt Config** Configure Nuxt Scripts using your Nuxt Config.](https://scripts.nuxt.com/docs/v0/api/nuxt-config) [**Nuxt Hooks** Use Nuxt hooks to extend the Nuxt Scripts module.](https://scripts.nuxt.com/docs/v0/api/nuxt-hooks)**On this page **- [scripts:updated](#scriptsupdated) - [script:instance-fn](#scriptinstance-fn)