---
title: "tag:normalise Hook"
description: "Legacy hook type retained for compatibility but not called by the current tag resolver."
canonical_url: "https://unhead.unjs.io/docs/head/api/hooks/tag-normalise"
last_updated: "2026-08-11T00:39:59.973Z"
---

The `tag:normalise` hook remains in the hook type for compatibility, but the current resolver does not call it. Do not use it for new plugins.

To process each tag as it is produced, use [`entries:normalize`](/docs/head/api/hooks/entries-normalize) and iterate over `ctx.tags`. To process the deduplicated tag set, use [`tags:beforeResolve`](/docs/head/api/hooks/tags-before-resolve), [`tags:resolve`](/docs/head/api/hooks/tags-resolve), or [`tags:afterResolve`](/docs/head/api/hooks/tags-after-resolve).

## Declared Signature

```ts
export interface Hook {
  'tag:normalise': (ctx: {
    tag: HeadTag
    entry: HeadEntry<any>
    resolvedOptions: CreateClientHeadOptions
  }) => SyncHookResult
}
```

This signature is declared in the public types, but no corresponding hook call exists in the normalization or resolution path.
